第二章 Git

主宰稳场 提交于 2019-12-21 20:02:27

1.安装

这个就不必细说了

2.安装完后还要进行一步设置。

在命令行输入:

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

3.创建版本库

切换到目标文件夹下:

git init

4.git add <file>添加文件到仓库

git commit -m<message> 提交所以已经添加的文件

git status 查看仓库当前状态

git diff <file> 查看difference。

git log 查看历史记录,可以加上 --pretty=oneline 这个参数赖过滤一下。前面的大串字符串是每次commit的版本号。在git中,用HEAD表示当前版本。上个版本就是HEAD^,上上个就是HEAD^^,往上100个版本就是HEAD~100.

git reset --hard HEAD^.表示回退到上一个版本。

git reset --hard 版本号前几位  :这样还可以返回到回退之前的版本(只要当前窗口还没关,往上找就可以了。)

git reflog :这个来记录每一次的命令。还可以根据这个来找commit的版本号。(真牛逼)

git push origin master.  向远程origin仓库push  master分支。

 

5.工作区和暂存区

工作区(Working Directory):就是电脑里能看到的目录。有隐藏目录.git。

版本库(Repository):存了很多东西,其中最重要的就是stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分子master,以及指向master的一个指针叫HEAD。

 

6.管理修改

为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。

git commit 只会commit add到暂存区的文件

7.撤销修改

git checkout --<file> :把该文件在工作区的修改全部撤销,有两种情况:

(1)文件修改后,还没有被add到暂存区,现在撤销修改就回到和repository一样的状态

(2)文件修改后,以及添加到暂存区,又作了修改。现在撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

 

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

8.删除文件

rm <file>,这是直接在文件管理器中把没用的文件删了。

这时,git status 会告诉你,哪些文件被删除了。

现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit。

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

git checkout -- text.txt.

ps:

1.如果你用的rm删除文件,那就相当于只删除了工作区的文件,如果想要恢复,直接用git checkout -- <file>就可以

2.如果你用的是git rm删除文件,那就相当于不仅删除了文件,而且还添加到了暂存区,需要先git reset HEAD <file>,然后再git checkout -- <file>

3.如果你想彻底把版本库的删除掉,先git rm,再git commit 就ok了.

 


 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!