Git 撤销操作

– Start

点击此处观看本系列配套视频。


同步远程库到本地

同步远程到本地需要先同步远程库到本地,然后同步本地库到工作区,这里没有暂存区。

git fetch

同步本地库到工作区

git merge

一步到位:同步远程到本地库和工作区

两步实在是太麻烦了,事实上我们也可以一步到位。

git pull

修改文件

执行下面的命令修改一下文件。

echo "line2" >> test.txt

比较修改

如果你想看一下修改了什么,试一试下面的命令吧。

git diff test.txt

说实话,我根本看不懂输出的结果,事实上,Git 允许我们配置一个外部的比较软件,如 kdiff3

配置外部比较软件

首先下载和安装KDiff3,然后使用下面的命令配置。

git config --global diff.tool kdiff3
git config --global difftool.kdiff3.path "/c/Program Files/KDiff3/kdiff3.exe"

配置完成后,试一试下面的命令吧,是不是 much better?

git difftool test.txt

丢弃工作区修改

改完文件后,你发现改错了,想撤销修改,怎么办?Git 有后悔药,试一试下面的命令吧。

git checkout -- test.txt

修改文件并添加到暂存区

下面我们再次修改文件并添加到暂存区。

echo "line2" >> test.txt
git add test.txt

丢弃暂存区修改

如果这个时候你还需要修改一下文件,想丢弃暂存区修改,但是保留工作区的修改,该怎么办呢?试一试下面的命令吧。

扫描二维码关注公众号,回复: 3456077 查看本文章
git reset test.txt

丢弃暂存区和工作区修改

如果你想丢弃暂存区和工作区修改,试一试下面的命令吧。

git reset --hard HEAD

修改文件并添加到暂存区

下面我们再次修改文件并添加到暂存区。

echo "line2" >> test.txt
git add test.txt

文件添加到暂存区后,再次修改文件

echo "line3" >> test.txt

这时候,test.txt 在工作区,暂存区,本地库中都不一样,如何比较它们的不同呢?

比较工作区和暂存区

git difftool test.txt

比较暂存区和本地库

git difftool --cached test.txt

比较工作区和本地库

git difftool HEAD test.txt

比较两个版本

git difftool f302a431512632a07138bb51b880f89924987f58  8d6949c96fec09f8b5cae5e3ef76a5513f583a2b

撤销指定版本

如果不小心提交到了本地库,后悔了,怎么办?试一试下面的命令吧。

git revert HEAD

回退到指定版本

如果提交了好多版,想回到某个版本,丢弃后面所有版,怎么办?

git reset --hard 8d6949c96fec09f8b5cae5e3ef76a5513f583a2b

– 更多参见:Git 精萃
– 声 明:转载请注明出处
– Last Updated on 2018-06-08
– Written by ShangBo on 2018-06-08
– End

猜你喜欢

转载自blog.csdn.net/shangboerds/article/details/80617558