Git学习笔记

工作区、暂存区stage和master分支

1.初始化仓库

1
2
3
mkdir learngit
cd learngit
git init#初始化git

2.添加文件到Git要两步add和commit

1
2
git add readme.txt
#添加完后要

工作区、暂存区stage和master分支

1.初始化仓库

1
2
3
mkdir learngit
cd learngit
git init#初始化git

2.添加文件到Git要两步add和commit

1
2
3
4
5
6
git add readme.txt
#添加完后要提交,一次可以add多个文件到暂存区stage
#然后一次性commit到master分支
#-m选项表示message
#修改文件后也要add
git commit -m "wrote a readme file"

3.掌握仓库的状态
这条命令可以查看当前仓库的状态,比如是否有文件修改了但没有添加和提交等等

1
git status

4.查看不同
status告诉我们文件被修改了,那么如果你还没有add可以通过这条命令查看工作区文件和分支的区别

1
git diff

5.查看历史记录
这条命令可以查看仓库的历史记录

1
git log

图表方式

1
git log --graph

如果觉得信息太多,可以用下面的

1
2
git log --pretty=oneline
git log --pretty=short

6.版本时光机

1
2
3
4
5
6
#回退到上个版本
git reset --hard HEAD^
#回退到上上个版本
git reset --hard HEAD^
#回退到上5个版本
git reset --hard HEAD~5

如果回到了先前的版本,那么可以使用下面的命令回到当前版本

1
2
#最后面的是commit id
git reset --hard 3cd300a

如果要查找commit_id和查看所有的操作记录可以使用下面命令查看

1
git reflog

7.对比工作区和版本库分支里的不同

1
git diff HEAD -- readme.txt

8.删除工作区修改和暂存区
这个命令可以使得工作区文件回到最近一次git commit或git add时的状态。

1
git checkout -- readme.txt

如果文件已经add到暂存区stage则可以手工修改文件复原,然后再add就可以消除
当然也可以使用下面的命令

1
git reset HEAD readme.txt

这个命令就把修改从暂存区删除,但是readme源文件还是有你不想要的内容,所以可以手工删除也可以使用上面的checkout命令还原工作区的修改

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

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

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

8.删除文件
如果你的工作区有文件被误删除或者你要删除某一个文件可以使用如下命令
①误删除某一个文件,要从版本库恢复

1
git checkout -- test.txt

这样便会从版本库中恢复test.txt到工作区
②的确想删除

1
2
3
git rm test.txt
rm test.txt
git commit -m "删除test.txt"

9.添加并推送到远程仓库
其中origin是你在本地给仓库的命名

1
git remote add origin git@github.com:jzz567/baidu_ads_block.git

推送到叫origin的远程仓库的master分支

1
git push -u origin master

10.克隆仓库

1
git clone git@github.com:jzz567/baidu_ads_block.git

11.分支操作
查看分支:前面带星号的表示当前所在的分支

1
git branch

创建分支:

1
git branch <name>

切换分支:

1
git checkout <name>

创建+切换分支:

1
git checkout -b <name>

合并某分支到当前分支:

1
git merge <name>

删除分支:

1
git branch -d <name>