显示commit日志.

1
git log --oneline --abbrev-commit --all --graph

将新的修改添加到已经存在的commit.

1
git commit --amend 

遍历所有的branch和tag,删除掉不能到达的commit.

1
git gc

查看本地和远端的所有分支

1
git branch --all

查看所有远程仓库

1
git remote -v
-v means verbose(详细的)

查看远程主机的详细信息

1
git remote show 'name'

从远程主机拉取

1
git fetch
拉取所有分支
1
git fetch <远程主机名> <分支名>
拉取指定分支代码

拉取分支并且合并

1
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull = git fetch + git merge.但是建议git fetch + git merge,git的过程更加清晰。

推送修改到远端

1
git push <远程主机名> <本地分支名>:<远程分支名>
git push 和git pull 格式能被统一为 git push/pull <远程主机名> <源地址>:<目标地址>
1
git push origin master。
会将本地的master分支上传到远端的关联分支上去.如果远端的分支不存在,则创建同名分支
1
git push
如果本地分支只有一个远程主机,且待提交分支与远端分支有连接关系可以直接使用。
tips 使用git push 进行推送的时候,git 2.0之后采用 ‘simple’ 方法,就是只推送当前的分支,另外一种推送的方法叫做 ‘matching’,会将本地所有有关联关系的分支推送到默认的远端主机上去.可以通过 git config --global push.default matching 指令来设置.
# 创建新分支 ``` git checkout -b newbranch ```
从当前分支创建新的分支,并切换到新分支

删除远端分支

1
2
3
git push origin :test

git push origin --delete test
两条指令具有相同的作用,推荐使用后者,语意更加明确

删除本地分支

1
git branch -d test

版本回退

1
git reset --soft HEAD~
只修改HEAD. index(暂存区)和working tree(工作区)不变
1
git reset --mixed HEAD~
修改HEAD和index, working tree不变
1
git reset --hard HEAD~
HEAD, index, working tree 全部修改