多语言展示
当前在线:351今日阅读:113今日分享:31

Git命令使用教程

Git是分布式的版本管理工具,在实际开发中已经逐渐取代SVN,成为主流的代码管理工具。今天小编为大家介绍在命令行中使用Git命令的常用操作。小编之前已经介绍过Git相关的知识了,包括工作空间、暂存区、本地仓库、工作状态保存栈,可以先学习这一部分,再来了解git命令的具体使用。1Git简介及使用教程
工具/原料

Git 2.18.0

方法/步骤
1

首先,我们可以通过'git status'可以查看WorkSpace的状态,如果本地仓库有修改,则在输入git status命令后会显示更新的文件,但是更新只是在WorkSpace中,没有到暂存区中。只有被add到暂存区的更新才会被提交进入本地仓库。如果想还原修改的文件,则使用命令git checkout -- 文件名包含路径“。

2

如果想要追踪新文件,我们使用git add命令。git add 后面可以指明要跟踪的文件或目录路径。如果是目录的话,就说明要递归跟踪该目录下的所有文件。git add命令是将目标文件快照放入暂存区域,即 add file into staged area,同时未曾跟踪过的文件标记为需要跟踪。使用git add . 则会将所有修改或新增的文件放入暂存区,这时候文件已经从WorkSpace保存到Stage中。

3

我们使用“git commit -m”来提交更新,-m后面跟的是对commit的描述(message),这时的更新已经从Stage保存到了Local Repo(本地仓库)中。

4

git diff 命令用于显示WorkSpace中的文件和暂存区文件的差异,当我们把更新add到Stage中,git diff就不会有任何输出了。我们也可以把WorkSpace中的状态和repo(本地仓库)中的状态进行diff,命令如下。git diff HEAD如果文件没有修改,则什么也不会显示。

5

撤销更新文件:更新可能存在三个地方,WorkSpace中,Stage中和repo中。1. 撤销WorkSpace中的更新,我们使用git checkout --...来撤销WorkSpace中的更新,此时本地修改的文件会还原。注意:使用这种方法撤销更新的时候一定要慎重,因为通过这种方式撤销后,更新将没有办法再找回。 2. 撤销Stage中的更新(即add后的更新),使用了'git add'把这个更新提交到暂存区后,通过'git reset HEAD ...'把暂存区的更新移出到WorkSpace中,使用git reset HEAD命名则撤销全部的更新,若想继续撤销WorkSpace中的更新,请参考上面一步。 3. 撤销repo(本地仓库)中的更新,在介绍撤销本地仓库更新之前,我们先看一下'git log'这个命令,通过这个命令我们可以查看commit的历史记录,如下图所示。 撤销提交有两种方式:使用HEAD指针和使用commit id在Git中,有一个HEAD指针指向当前分支中最新的提交。当前版本,我们使用'HEAD^',那么再前一个版本可以使用'HEAD^^',如果想回退到更早的提交,可以使用'HEAD~n'。(也就是,HEAD^=HEAD~1,HEAD^^=HEAD~2)以下三个命令都可以撤销最新的修改,使代码恢复到历史版本:git reset --hard HEAD^git reset --hard HEAD~1git reset --441db6190b27683f72d90bc1a8a2c1849744bf 接下来我们详细介绍--hard和--soft的区别:前面在使用reset来撤销更新的时候,我们都是使用的'--hard'选项,其实与之对应的还有一个'--soft'选项,区别如下:--hard:撤销并删除相应的更新--soft:撤销相应的更新,把这些更新的内容放到Stage中

6

恢复被撤销的提交:我们使用git reflog'这个命令。'git log'只是包括了当前分支中的commit记录,而'git reflog'中会记录这个仓库中所有的分支的所有更新记录,包括已经撤销的更新。恢复撤销操作使用如下命令:git reset --hard HEAD@{3}git reset --hard 9e6d46c

7

接下来我们介绍Git删除文件:rm git rm 'git rm'相比'rm'只是多了一步,把这次删除的更新发到Stage中。

8

总结:从下图我们可以看出,每一个git命令作用的区域有哪些。

注意事项

在不了解具体的git命令的作用区域时不要乱操作,否则可能造成不可逆的影响。

推荐信息