您的位置:首页 > 其它

Git 常用命令

2016-11-05 01:47 253 查看
添加到暂存区(stage)

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:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: