$ git status
查看状态$ git log
查看日志$ git reflog
查看操作日志$ git checkout -b hotfix
新建一个hotfix分支并切换到该分支$ git add -f
修改的文件添加到暂存区$ git add .
暂存所有$ git commit -m
"修改了xx内容" 提交修改$ git reset --hard HEAD~1
回退到上一个分支,2 上上个分支$ git reset --hard commitID
到哪个确定的分支$ git diff HEAD -- readme.txt
查看工作区和版本库里面最新版本的区别$ git rm -f
从版本库汇中删除文件$ git checkout -f
恢复未从版本库中删除的文件
合并流程:$git add
暂存文件 --> $git commit -m "message"
--> git checkout master
---> git merge branch(dev);
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
/ 如果要丢弃一个没有被合并过的分支$ git branch -D
强行删除分支$ git log --graph
查看分支图$ git log --graph --pretty=oneline --abbrev-commit
查看分支合并图$ git merge --no-ff -m "merge with no-ff"
dev no-ff模式合并dev分支到当前分支$ git stash
储藏当前工作区$ git stash list
查看储藏$ git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用$ git stash drop
来删除;
另一种恢复:$ git stash pop
,恢复的同时把stash内容也删了:
你可以多次stash,恢复的时候,先用git stash list
查看,然后恢复指定的stash,用命令:$ git stash apply stash@{0}
查看远程库的信息,用git remote
或者git remote -v
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:$ git push origin master
多人协作的工作模式:
首先,可以试图用git push origin branch-name
推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull
试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name
推送就能成功!
如果git pull
提示“no tracking information”
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
。本地和远程分支的名称最好一致。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
Git官方文档:https://git-scm.com/book/zh/v2