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 <远端名>