Git 常用操作指南(图文教程)

版权声明:本文为博主原创文章,未经博主同意不可随意转载。 https://blog.csdn.net/hellokandy/article/details/84346781

一、创建版本库

什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

1.1、选择一个合适的目录,创建一个空文件夹

提示:pwd,用于显示当前的文件夹路径

1.2、使用 “git init” 命令把这个目录变成Git可以管理的仓库:

可以发现当前目录下多了一个 .git 目录,这个目录是Git来跟踪管理版本库的。没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。(如果你没有看到.git目录,那是因为这个目录默认是隐藏的)

二、添加文件到版本库

首先,文件必须放在版本库对应的目录下, 添加文件到版本库步骤:

1、使用命令git add <file>,注意:可以反复多次使用,添加多个文件;

2、使用命令git commit -m <remark message>,完成。

备注:git status 命令,随时掌握工作状态,提示信息分析:

Changes to be committed:已进入暂存区,但还未提交到版本库,需要commit

Changes not staged for commit:更改了,但是还未进入暂存区

Untracked files:表示该文件还从来没有被添加进版本库

举例说明:

手动创建了一个readme.txt文件,

第一步,用命令 git add 告诉Git,把文件添加到仓库:

$ git add readme.txt

第二步,用命令 git commit 告诉Git,把文件提交到仓库:

$ git commit -m "wrote a readme file"

三、版本回退

git log 显示从最近到最远的提交日志,git log --pretty=oneline 使每个日志单独成行。

git中,用HEAD表示当前版本

回退到上一个版本:git reset --hard HEAD^,一个“^”表示回退1个版本,“~100”回退100个版本。

返回新版本:git reset --hard 新版本的Id

git reflog查看命令历史,以便确定要回到未来的哪个版本

举例说明:

在添加完readme.txt后,又添加了history.txt文件,现在查看做了哪些修改:

使用命令git log,显示从最近到最远的提交日志。如果觉得日志输出的信息太多,可以加上--pretty=oneline

假设现在我们想回退到没有添加history.txt文件之前的版本,应该怎么做呢?

可以使用命令 git reset --hard 版本号,这样就可以回退到具体的版本了!

如果不确定版本号,还可以使用 git reflog 查看最近使用的git命令,进而确定回退哪个版本。

四、撤消修改

    4.1、当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- filename。  

再用git status命令查看,整个工作区又干净了!

4.2、当你不但修改了工作区某个文件的内容,还添加到了暂存区(还没有commit之前),而此时想丢弃修改。

分两步:

第一步,把暂存区的修改撤销掉(unstage),重新放回工作区(命令 git reset HEAD filename);

第二步,将工作区的修改的内容丢弃(命令 git checkout -- filename)。

最后,再用命令(git status)查看git的状态,整个工作区又干净了!

4.3、已经提交了不合适的修改到版本库时,想要撤销本次提交,参考上一节内容(版本回退),不过前提是没有推送到远程库。

五、删除文件

提交到版本库的文件,可以先 rm file 删除文件

确实要从版本库中删除该文件,那就用命令 git rm file 删掉,并且git commit

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本git checkout -- file

备注:git checkout -- file就是将版本库的文件替代工作区的文件

举例说明:

一般情况下,你通常直接在文件管理器中把没用的文件删了(或者用 rm 命令删了)。这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了, git status 命令会立刻告诉你哪些文件被删除了。这时候有两个选择:1、从版本库中把删除的该文件恢复至工作区(使用命令 git checkout -- filename);2、确实要从版本库中删除该文件,那就用命令 git rm 删掉版本库中该文件,并且git commit。

提示:

git checkout -- filename 命令,其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

命令 git rm 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

六、删除文件夹

    git rm -rf 文件夹名
    git add -A

七、工作区和暂存区

工作区:在电脑里能看到的目录;

版本库:在工作区有一个隐藏目录.git,是Git的版本库。

Git的版本库中存了很多东西,其中最重要的就是称为stage(或者称为index)的暂存区,还有Git自动创建的master,以及指向master的指针HEAD。

1、git diff HEAD --readme.txt 命令可以查看工作区和版本库里面最新版本的区别

2、Git是跟踪修改的,而不是跟踪文件,每次修改,如果不用git add到暂存区,那就不会加入到commit中。

以上总结,根据网上资料并结合自身实践整理。

猜你喜欢

转载自blog.csdn.net/hellokandy/article/details/84346781