最浅显易懂的Git教程总结

94 阅读4分钟

最浅显易懂的Git教程总结

本文内容凝练自廖雪峰的官方网站Git教程,建议去网站学习理解的深刻。www.liaoxuefeng.com/wiki/896043…

1.Linux系统安装git

sudo apt-get install git

//安装完成后,还需要最后一步设置,在命令行输入:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
//注意`git config`命令的`--global`参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址

2.创建版本库

//版本库又名仓库,英文名**repository
//在一个合适的地方创建版本库
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit

//通过`git init`命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

我们创建的文件一定要放到我们设置的learngit目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。

把一个文件放到git仓库只需要两步:

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

//第二步,用命令`git commit`告诉Git,把文件提交到仓库
git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt
//解释一下`git commit`命令:`-m`后面输入的是本次提交的说明,可以输入任意内容,一定要有意义,方便日后阅读

git add和git commit一定要顺序依次使用,才会进git仓库

3.版本穿梭

时刻掌握仓库当前状态的命令

git status

查看文件上次是怎末修改的命令

git diff readme.txt
//`git diff`顾名思义就是查看difference

翻看历史记录,看到每次提交的日志

git log

使用reset命令回退上一个版本。首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

git reset --hard HEAD^
//`--hard`参数有啥意义?这个后面再讲,现在先放心使用

查看文件内容,用cat

cat readme.txt

git reflog查看每一次命令,再用git reset --hard 1054a 回到过去版本,版本号不用写全,写前几个就可以了。 image.png

4.涉及到工作区和暂存区的版本回退

4.1关于工作区和暂存区的深入理解,建议去廖雪峰的网站学习

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

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

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

4.2 删除文件

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:rm test.txt。这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了: image.png 现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commitimage.png 另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- test.txt

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

5.分支

深刻理解,同样建议去网站学习,这里只总结出了关键命令。
Git鼓励大量使用分支,安全高效便捷。

查看分支:git branch image.png 创建分支:git branch <name>

切换分支:git checkout <name>或者git switch <name>

创建+切换分支:git checkout -b <name>或者git switch -c <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

git中分支name常设为dev