1.首先给出一个地址吧
可以先学习一下这个git教程,强烈推荐!https://www.liaoxuefeng.com/wiki/896043488029600
2.然后给出一张非常使用的命令速查表:
3.需要先明白几个概念:
1.工作区:就是你在电脑里能看到的目录,比如我的learngit
文件夹就是一个工作区。
2.版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
3.暂存区:可以理解为版本库中的一部分。add指令添加的区域。
注意 :我们把文件往Git版本库里添加的时候,是分两步执行的:第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
4.实用命令及使用场景简单介绍:
1.git init:把当前目录变为本地的管理仓库。
2.git add <file>:在工作区的文件添加到版本库中的暂存区。(注意:可反复多次使用,添加多个文件,<file>代表readme.txt文件)
3.git commit -m <message>:将上述add指令添加到暂存区的文件,提交到版本库中。(注意:<message> 代表备注信息)
4.git status:随时掌握工作区的状态,是否有文件被修改,新添加,冲突等等。
5.git diff <file>:如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
6.git log:显示git提交的历史记录。(注意:加上参数:git log --pretty=oneline,简单化输出历史记录)
7.git reflog:记录你的每一次命令,可以用于获取每一次指令的id。
8.git reset --hard HEAD:撤销所有工作区间中未提交的内容(注意:在Git中,用HEAD表示当前版本,上一个版本是HEAD^,上上一个版本就是HEAD^^,上n个版本,所以写成HEAD~n)
9.git reset --hard <commitid>:回到某一次提交的版本:这个版本可以是当前版本以前的版本,或者是以后的版本。(注意:<commitid>为通过git log命令获取到id的前几位。)
10.git checkout -- <file>:撤销工作区的修改。(注意:让这个文件回到最近一次git commit
或git add
时的状态。)
11.git reset HEAD <file>:撤销指定的,已经添加,但是还未提交文件的修改。
12.git rm <file>:文件就从版本库中被删除(注意:如果要恢复文件,使用指令git checkout -- <file>)
13.git remote add origin git@github.com:michaelliao/learngit.git:把本地库关联到远程库。
14.git push -u origin master:把本地库内容的master分支推送到远程库。(注意:第一次提交加上-u,后续的提交使用git push origin master即可)
15.git clone git@github.com:michaelliao/gitskills.git:克隆一个本地库。
分支:
16.git checkout -b dev:创建一个名为dev的分支。(注意:命令加上-b
参数表示创建并切换,相当于:git branch dev 和 git checkout dev)
17.git branch:查看当前分支。
18.git checkout master:切换分支到master。
19.git merge dev:合并分支。(注意:当前分支为master,在master分支合并dev分支的代码,如果有冲突,需要解决冲突,再提交,合并完成)
20.git branch -d dev:删除分支。
21.git log --graph --pretty=oneline --abbrev-commit:查看分支合并情况。
22.git stash:可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。
23.git stash list:查看储藏分支的情况。
24.git stash pop:恢复储藏内容,并删除(注意:git stash pop: 相当于是用git stash apply恢复,恢复后,stash内容并不删除,需要用git stash drop来删除;)
25.git branch -d feature-vulcan:删除分支(注意:如果强行删除分支的话,-d改为-D)
26.git remote:查看远程库信息。(注意:查看详细信息为:git remote -v)
27.git push origin master:把该master分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
28.git tag v1.0:打标签。
29.git tag:查看标签。
注:以上为自己总结的使用git的常用命令,具体使用,要自己结合正式的使用场景进行组合使用。另外一点:git功能非常强大。也很容易上手,孰能生巧,一起加油骚年们。