廖雪峰Git教程学习笔记
Git
1、通过git init命令把这个目录变成Git可以管理的仓库
$ git init
2、用命令git add告诉Git,把文件添加到仓库
$ git add readme.txt
3、用命令git commit告诉Git,把文件提交到仓库
$ git commit -m "这是备注"
4、已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看
$ git diff readme.txt
要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
5、用git log可以查看提交历史,以便确定要回退到哪个版本。
$ git log
$ git log --pretty=oneline
6、回退到上一个版本,就可以使用git reset命令:
$ git reset --hard HEAD^
$ git reset --hard 3628164
7、命令git reflog用来记录你的每一次命令,以便确定要回到未来的哪个版本
$ git reflog
8、丢弃工作区的修改
$ git checkout -- readme.txt
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
9、把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset HEAD readme.txt
然后,再:$ git checkout -- readme.txt 丢弃修改
10、命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
$ git rm test.txt
11、把本地仓库的内容推送到GitHub仓库。
$ git remote add origin git@github.com:michaelliao/learngit.git
$ git push -u origin master
12、只要本地作了提交,就可以通过命令:
$ git push origin master
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!
13、我们创建dev分支,然后切换到dev分支:
$ git checkout -b dev
14、用git branch命令查看当前分支:
$ git branch
* dev
master
15、切换回master分支
$ git checkout master
16、把dev分支的工作成果合并到master分支上
$ git merge dev
17、合并完成后,就可以放心地删除dev分支
$ git branch -d dev
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
18、解决冲突后再提交
$ git merge dev
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.
冲突了!Git告诉我们,readme.txt文件存在冲突,必须手动解决冲突后再提交。git status也可以告诉我们冲突的文件
学习地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000