Git 常用命令
2016-11-05 01:47
253 查看
添加到暂存区(stage)
查看工作区暂存区状态
从暂存区提交到最新版本
比较工作区和版本库最新版本的区别:(貌似HEAD可以不输入,默认就是HEAD?)
比较本地库特定文件和远程库该文件的区别:
比较工作区特定文件和远程库该文件的区别
查看历史记录,可以追加参数以每个记录单行显示:--pretty=oneline
回退到上个版本(上上个版本就再加一个^)
根据hashcode来回到某个版本
撤销工作区(而非暂存区)的修改,本质上其实是用版本库里的版本替换工作区的版本
把暂存区的修改撤销掉(unstage),重新放回工作区
从文件系统和版本库里删除一个文件
创建并切换分支
查看当前分支
切换分支,例如切换到master分支
本地
删除
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修后,合并分支,然后将临时分支删除。
当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支
幸好Git还提供了一个
(
刚才的工作现场存到哪去了?用
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用
另一种方式是用
)
强行删除一个还未被合并的分支
回退单个文件到指定版本
注:stage又名index
例子:
git pull之后提示Your local changes to the following files would be overwritten by merge:
git add <file>
查看工作区暂存区状态
git status
从暂存区提交到最新版本
git commint -m "comment"
比较工作区和版本库最新版本的区别:(貌似HEAD可以不输入,默认就是HEAD?)
git diff HEAD -- readme.txt
比较本地库特定文件和远程库该文件的区别:
git diff origin/FDbank:powercore-base/pom.xml FDbank:powercore-base/pom.xml
比较工作区特定文件和远程库该文件的区别
git diff origin/FDbank:powercore-base/pom.xml powercore-base/pom.xml
查看历史记录,可以追加参数以每个记录单行显示:--pretty=oneline
git log
回退到上个版本(上上个版本就再加一个^)
git reset --hard HEAD^
根据hashcode来回到某个版本
git reset --hard 11801df
撤销工作区(而非暂存区)的修改,本质上其实是用版本库里的版本替换工作区的版本
git checkout -- readme.txt
把暂存区的修改撤销掉(unstage),重新放回工作区
git reset HEAD readme.txt
从文件系统和版本库里删除一个文件
rm test.txt git rm test.txt git commit -m "remove test.txt"
创建并切换分支
$ git checkout -b dev Switched to a new branch 'dev'
git checkout命令加上
-b参数表示创建并切换,相当于以下两条命令
$ git branch dev $ git checkout dev Switched to branch 'dev'
查看当前分支
$ git branch
切换分支,例如切换到master分支
$ git checkout master
本地
master分支的最新修改推送至GitHub(远程库的名字就是
origin,这是Git默认的叫法,也可以改成别的,但是
origin这个名字一看就知道是远程库。)
$ git push origin master
删除
dev分支
git branch -d dev
软件开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修后,合并分支,然后将临时分支删除。
当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支
issue-101来修复它,但是,等等,当前正在
dev上进行的工作还没有提交
幸好Git还提供了一个
stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
$ git stash Saved working directory and index state WIP on dev: 6224937 add merge HEAD is now at 6224937 add merge
(
刚才的工作现场存到哪去了?用
git stash list命令看
工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:
一是用
git stash apply恢复,但是恢复后,stash内容并不删除,你需要用
git stash drop来删除;
另一种方式是用
git stash pop,恢复的同时把stash内容也删了:
)
强行删除一个还未被合并的分支
$ git branch -D feature-vulcan Deleted branch feature-vulcan (was 756d4af).
回退单个文件到指定版本
$ git log MainActivity.java $ git reset a4e21523 MainActivity.java
注:stage又名index
例子:
git pull之后提示Your local changes to the following files would be overwritten by merge: