git 版本控制使用#
- 优先使用可视化工具,命令行指令谨慎使用
- vscode 插件
codezombiech.gitignoredonjayamanne.githistorymhutchie.git-graph
git 安装#
- linux :
apt install git
创建 git init#
- 初始化当前工作目录 :
git init- 初始化后,当前目录下会多一个
.git的目录,这个目录是git来跟踪管理版本库的。
- 初始化后,当前目录下会多一个
添加文件 git add#
注意:建议将默认编码设置为UTF-8,文件格式都转为UTF-8。
提交 git commit#
-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样就能从历史记录里方便地找到改动记录。
状态查看 git status#
# 掌握仓库当前的状态
git status
# 查看修改内容
git diff
# 比较工作区与最新本地仓库之间的差异
git diff HEAD
# 比较HEAD与 指定tag或commit 之间的差异
git diff --stat 7-5-commit HEAD
提示:查看状态时按q键退出浏览。
远程仓库操作 git remote#
# 查看远程仓库位置
$ git remote -v
# 添加远程仓库地址
$ git remote add origin git@github.com:Ts-sound/test.git
# 删除远程仓库地址
$ git remote rm origin
# 推送到远程仓库
$ git push -u origin master
# 强制推送(谨慎使用)
$ git push -u origin master -f
注意:master为要推送的分支名称(也可能是main)。
克隆远程仓库(SSH)#
- 配置本机用户信息:
- 生成SSH密钥:
执行该命令后,依据提示 执行生成密钥对,再将 公钥 id_rsa.pub 添加到 github -> setting -> SSH and GPG keys。
- 克隆仓库:
标签管理 git tag#
# 添加标签
$ git tag -a v1.0 -m "description"
# 删除标签
$ git tag -d v1.0
# 查看某个历史版本
$ git checkout v1.0
# 将某个历史版本中某个文件检出
$ git checkout v1.0 -- main.c
拉取远程更新#
问题解决#
Git GUI 显示乱码#
解决方案:在GUI文本窗口中右击 -> Encoding -> Unicode(UTF-8)
Git Bash 中文乱码#
分支管理#
创建空分支#
从Tag创建分支#
创建一个名为new-feature的分支,起点是标签v1.2.0指向的提交:
配置设置#
# 设置git push时推送到同名远程分支
git config --global push.default current
# 设置git pull时拉取同名远程分支
git config --global pull.default current
高级操作#
重置所有未提交的改动#
Git归档#
# 将当前HEAD (或指定tag,commit) 创建为zip归档
git archive --format zip --output project.zip HEAD
git archive --format=tar.gz -o latest.tar.gz HEAD