git用法记录
记录一些git的常用命令
-
将仓库连接到某个远程服务器
git remote add origin <server>
-
还原文件的本地修改.
git checkout -- <file>
-
取消已经暂存的文件(撤销
git add
)git reset HEAD <file>...
-
从服务器上获取最新的版本历史覆盖本地修改
git fetch origin git reset --hard origin/master
-
修改最后一次提交信息。
git commit --amend
-
回退所有内容到上一个版本
git reset HEAD^
-
新建一个分支并切换过去
git checkout -b xxxx
-
删除分支
git branch -d xxxx
-
向远程服务器推送分支
git push origin xxxx
-
合并分支
git merge xxx
-
合并单个提交到当前分支
git cherry-pick commitxxxxxx
-
合并多个提交.
假设有如下图所示两个分支,想要将test分支的2,3,4提交合并到master上,命令如下:
1---2---3---4---5 test
/
a---b---c---d---e---f master
git checkout test
git checkout -b newbranch 4
git rebase --onto master 2^
git checkout master
git merge newbranch
git branch -d newbranch
合并后的分支如下:
1---2---3---4---5 test
/
a---b---c---d---e---f---2`---3`---4` master
- 对比
-
查看尚未暂存的更改(工作目录(Working)和暂存区(index)之间的差异)
git diff
-
查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异
git diff --cached git diff --staged
-
显示工作版本(Working)和HEAD的差别
git diff HEAD
-
查看简单的diff结果,可以加上
--stat
参数git diff --stat
-
查看某个文件的变化
git diff -- file
-
比较上次提交和上上次提交
git diff HEAD^ HEAD
-
比较两个历史版本之间的差异
git diff SHA1 SHA2
-
示例: 查看
a.txt
文件最新提交的修改内容git diff HEAD^ -- a.txt
-
-
回退某个文件到上一个版本
git reset HEAD^ <file>
-
向前回退到第3个版本
git reset –soft HEAD~3
-
将本地的状态回退到和远程的一样
git reset –hard origin/master
-
回退到某个版本
git reset 057d7f9ds8a789fds8a90
-
回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit.(代码回滚到上个版本,并提交git)
git revert HEAD
-
删除本地失效的远端分支列表
git remote prune origin
-
同步远端的tag
git tag -l | xargs git tag -d && git fetch origin --tags
-
显示远端的详细信息
git remote show <远端名>