一、在git安装成功之后,需要自报家门:名字和Email地址
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
注意:git config 命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。
二、基本命令
1、创建版本库就是创建一个空目录:mkdir learngit
2、初始化一个git仓库:git init
3、把文件添加到仓库:git add <file>,实际上就是把文件修改添加到暂存区(Stage)。注意:可反复多次使用,添加多个文件。
4、把文件提交到仓库:git commit -m "<message>",实际上就是把暂存区的所有东西提交到当前分支。注意:一次可提交多个文件。
文件向Git版本库中添加:
5、随时掌握工作区的状态:git status
6、查看文件修改的内容:git diff <file>
------------------------------------------------------------------------------------------------------------------------
版本回退:
7、查看提交历史,以便确定要回退到哪个版本:git log
如果嫌输出的信息太多,可以使用:git log --pretty=oneline
8、回退到上一个版本:git reset --hard HEAD^
9、回退到指定的版本:git reset --hard commit_id
10、查看历史命令:git reflog
------------------------------------------------------------------------------------------------------------------------
11、查看工作区和版本库里面最新版本的区别:git diff HEAD -- <file>
撤销修改:
12、丢弃工作区的修改:git checkout -- <file>
13、修改已放到了暂存区,想放弃修改:
13.1、先把暂存区的修改撤销,重新放到工作区:git reset HEAD <file>
13.2、再丢弃工作区的修改:git checkout -- <file>
14、修改已经提交到了版本库,想撤销本次提交:需要版本回退
------------------------------------------------------------------------------------------------------------------------
删除文件:
15、删除文件:rm <file>
16、版本库中还有此文件:
16.1、从版本库中将此文件删除:
16.1.1、从版本库中删除该文件:git rm <file>
16.1.2、再进行提交:git commit -m "<message>"
16.2、把删除的文件恢复到最新版本:git checkout -- <file>
------------------------------------------------------------------------------------------------------------------------
17、从gitHub远程仓库中克隆一个本地库:git clone <仓库地址>
创建与合并分支:
18、查看分支:git branch
19、创建分支:git branch <name>
20、切换分支:git checkout <name>
21、创建+切换分支:git checkout -b <name>
22、合并某分支到当前分支:git merge <name>
加上 --no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,命令如下:
git merge --no-ff -m "<message>" <name>
23、删除分支:git branch -d <name>
------------------------------------------------------------------------------------------------------------------------
25、查看分支合并图:git log --graph --pretty=oneline --abbrev-commit
Bug分支管理:
26、把当前工作现场“储藏”起来:git stash
27、查看“储藏”起来的工作现场:git stash list
28、恢复工作现场:
28.1、先git stash apply恢复,再git stash drop 来删除stash内容
28.2、直接使用git stash pop恢复的同时把stash内容也删除
------------------------------------------------------------------------------------------------------------------------
29、丢弃一个没有被合并过的分支,强行删除:git branch -D <name>
30、查看远程库信息:git remote -v
31、从本地推送分支:git push origin branch -name
如果推送失败,要先使用 git pull 抓取远程的新提交,再进行推送。
如果 git pull 抓取有冲突,要先处理冲突。
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,就要建立本地分 支与远程分支的关联:git branch --set-upstream-to <branch-name> origin/<branch-name>
。
32、在本地创建和远程分支对应的分支:git checkout -b branch-name origin/branch-name
33、把本地未push的分叉提交历史整理成直线:git rebase
标签管理:
34、新建标签:git tag <tagname>,默认为HEAD
可以指定一个commit_id: git tag <tagname> <commit_id>
35、指定标签信息:git tag -a <tagname> -m "<message>" <commit_id>
36、查看所有标签:git tag
37、删除本地标签:git tag -d <tagname>
38、删除远程标签:git push origin :refs/tags/<tagname>
39、推送本地标签:git push origin <tagname>
40、推送全部未推送的本地标签:git push origin --tags