git 命令常见用法

1. git的配置

配置提交信息

git config --global user.name w_xue

git config --global user.email [email protected]

配置颜色

git config --global color.ui true

配置命令别名

git config --global alias.st status

配置比较工具(bc3为beyond compare3的入口链接)

git config --global diff.tool bc3

git config --global difftool.prompt false


2.提交

跟踪新添加的文件

git add a.txt

取消跟踪文件

git rm a.txt


由工作区修改提交到暂存区

git add a.txt

由暂存区提交到仓库区

git commit -m "modify a.txt"

修改上次提交信息

git commit --amend


取消暂存,回到工作区修改状态

git reset -- a.txt

取消修改,回到工作区未修改状态

git checkout -- a.txt


3. 查看修改

工作区未暂存的修改

git diff

已经提交到暂存区所做的修改

git diff --staged

工作区所做的所有修改

git diff HEAD


4.分支操作

查看分支

git branch

创建新的跟踪分支

git checkout -b branchname

切换分支

git checkout branchname

删除分支

git branch -D branchname


5. reset操作

将HEAD强制指向其它commit

git reset --hard huehdkdu24

将HEAD强制指向其它commit,同时保留工作区的改动

git reset --mixed huehdkdu24

将HEAD强制指向其它commit,同时暂存工作区的改动

git reset --soft huehdkdu24


6. cherry-pick

apply一个存在的commit

git cherry-pick commit-id

例如现有commit id: a, b, c, d, e ,需要将cd合并为一个commit,步骤如下

新建一个分支: git checkout -b local

回到d:git reset --hard d

回到b,同时保留工作区修改: git reset --soft b

提交: git commit -m "cd"

apply缺失的commit :git cherry-pick e


7. checkout

回到某次commit或者将某个文件恢复到某次commit的状态

git checkout commit-id file-name

例如现有commit  id: a, b, c, d, e,在d中将文件a.txt做了错误修改,需要将这个文件恢复

checkout出修改前的文件: git checkout c a.txt

提交修改: git commit -m "修复对文件a.txt的错误修改"


8. 比较commit差异(先配置difftool为beyond compare)

git difftool commit1 commit2 file_path &


9. 后悔某次提交

现有提交a->b->c->d,突然发现提交c是多余的,但是已经push到服务器上去,此时最好的做法是添加一个commit e,效果抵消掉c

git checkout -b c

git revert HEAD

这时提交会变为a->b->c->e

其中e即为c的反操作

猜你喜欢

转载自blog.csdn.net/w_xue/article/details/27802265
今日推荐