Git常见命令

1. 首先安装完git需要配置你的名字和邮箱

1

*注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

2. 进入一个空项目目录进行新建版本仓库

2

通过git init命令把这个目录变成Git可以管理的仓库,而且目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了

3. 把某个文件添加到仓库中

3

执行git add 把readme.txt 文件添加到仓库中,注意readme.txt 必须放在上一步空目录中或子文件夹中,不然添加时是找不到的

4.  用命令git commit告诉Git,把文件提交到仓库

4

把一个文件放到仓库一般就这两步,先添加到仓库,在提交。简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。实在不想输入说明的童鞋请自行Google,我不告诉你这个参数。

 5. 假如我们修改了readme.txt,这个时候我们使用git status命令行查看

Git常见命令_第1张图片
5

这时你就知道git status 命令行是干嘛用的,git status命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,readme.txt被修改过了,但还没有准备提交的修改,但是我们并不能从该命令行中知道到底修改啦那一部分。这是就用到啦下一步。

6.git dff

Git常见命令_第2张图片
6

git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个distributed单词。如果看不懂可以自行百度深究

7.提交修改后的文件和提交新文件是一样的

       1. 先git add readme.txt 添加修改的文件

       2. 再git commit -m "add distributed" 提交,并添加说明"add distributed"方便别人阅读或自己阅读。

      3. 你可以在中间穿插git status 命令 看看输出状态,添加完git status一下 ,提交完再git status一下。

8. 查看git仓库中提交的历史版本:git log

Git常见命令_第3张图片
7

git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme file

如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:

8

需要友情提示的是,你看到的一大串类似1094adb...的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。为什么commit id需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了

9.  把当前版本append GPL回退到上一个版本add distributed,就可以使用git reset命令:

9

首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。--hard参数有啥意义?这个后面再讲,现在你先放心使用

10. 此时你用git log 会发现最新的版本没有,那怎么跳到append GPL那个版本呢?也是git reset 不过要附带版本号(版本号不用写全前几位即可)


10

11. 若果此时你并不知道append GPL 的版本号,怎么办呢?或者说你已经关闭啦命令窗口,这时需使用git reflog来记录你输出的每一条指令

Git常见命令_第4张图片
11

12.  git checkout -- file可以丢弃工作区的修改:

12

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

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

13. 从版本库中删除该文件,那就用命令git rm删掉,并且git commit:

Git常见命令_第5张图片
13

14. 本地关联远程仓库 $ git remote add origin git @github.com:yourid/resposity.git


14

15. 提交到远程仓库,将本地分支与远程分支合并

15



&  其他复杂命令及github与本地仓库SSH公钥配置可以参考此网站:

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

# 本博客转之廖雪峰官方网站

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


你可能感兴趣的:(Git常见命令)