你们好,最近小活发现有诸多的小伙伴们对于git命令拉取远程代码到本地,git命令这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、首先,我们可以通过"git status"可以查看WorkSpace的状态,如果本地仓库有修改,则在输入git status命令后会显示更新的文件,但是更新只是在WorkSpace中,没有到暂存区中。只有被add到暂存区的更新才会被提交进入本地仓库。
2、如果想还原修改的文件,则使用命令git checkout -- 文件名包含路径“。
3、如果想要追踪新文件,我们使用git add命令。git add 后面可以指明要跟踪的文件或目录路径。如果是目录的话,就说明要递归跟踪该目录下的所有文件。
4、git add命令是将目标文件快照放入暂存区域,即 add file into staged area,同时未曾跟踪过的文件标记为需要跟踪。
5、使用git add . 则会将所有修改或新增的文件放入暂存区,这时候文件已经从WorkSpace保存到Stage中。
6、我们使用“git commit -m”来提交更新,-m后面跟的是对commit的描述(message),这时的更新已经从Stage保存到了Local Repo(本地仓库)中。
7、git diff 命令用于显示WorkSpace中的文件和暂存区文件的差异,当我们把更新add到Stage中,git diff就不会有任何输出了。
8、我们也可以把WorkSpace中的状态和repo(本地仓库)中的状态进行diff,命令如下。
9、git diff HEAD
10、如果文件没有修改,则什么也不会显示。
11、撤销更新文件:更新可能存在三个地方,WorkSpace中,Stage中和repo中。
12、1. 撤销WorkSpace中的更新,我们使用git checkout --<file>...来撤销WorkSpace中的更新,此时本地修改的文件会还原。注意:使用这种方法撤销更新的时候一定要慎重,因为通过这种方式撤销后,更新将没有办法再找回。
13、2. 撤销Stage中的更新(即add后的更新),使用了"git add"把这个更新提交到暂存区后,通过"git reset HEAD <file>..."把暂存区的更新移出到WorkSpace中,使用git reset HEAD命名则撤销全部的更新,若想继续撤销WorkSpace中的更新,请参考上面一步。
14、3. 撤销repo(本地仓库)中的更新,在介绍撤销本地仓库更新之前,我们先看一下"git log"这个命令,通过这个命令我们可以查看commit的历史记录,如下图所示。
15、撤销提交有两种方式:使用HEAD指针和使用commit id
16、在Git中,有一个HEAD指针指向当前分支中最新的提交。当前版本,我们使用"HEAD^",那么再前一个版本可以使用"HEAD^^",如果想回退到更早的提交,可以使用"HEAD~n"。(也就是,HEAD^=HEAD~1,HEAD^^=HEAD~2)
17、以下三个命令都可以撤销最新的修改,使代码恢复到历史版本:
18、git reset --hard HEAD^
19、git reset --hard HEAD~1
20、git reset --441db6190b27683f72d90bc1a8a2c1849744bf
21、接下来我们详细介绍--hard和--soft的区别:
22、前面在使用reset来撤销更新的时候,我们都是使用的"--hard"选项,其实与之对应的还有一个"--soft"选项,区别如下:
23、--hard:撤销并删除相应的更新
24、--soft:撤销相应的更新,把这些更新的内容放到Stage中
25、恢复被撤销的提交:
26、我们使用git reflog"这个命令。"git log"只是包括了当前分支中的commit记录,而"git reflog"中会记录这个仓库中所有的分支的所有更新记录,包括已经撤销的更新。
27、恢复撤销操作使用如下命令:
28、git reset --hard HEAD@{3}
29、git reset --hard 9e6d46c
30、接下来我们介绍Git删除文件:
31、rm <file>
32、git rm <file>
33、"git rm"相比"rm"只是多了一步,把这次删除的更新发到Stage中。
34、总结:从下图我们可以看出,每一个git命令作用的区域有哪些。
以上就是git命令这篇文章的一些介绍,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!