当前访客身份:游客 [ 登录  | 注册加入尚学堂]
直播

robert

拥有积分:99
这家伙太懒,还没有签名!

博客分类

笔记中心

课题中心

提问中心

答题中心

解答题中心

Git学习札记——进阶

robert 发表于 1年前 (2015-11-27 20:24:11)  |  评论(0)  |  阅读次数(271)| 0 人收藏此文章,   我要收藏   

(1)git blame 文件名

该命令会显示出该文件名的创建者,以及最后的提交和时间戳。


(2)git reflog

该命令显示的是head指针移动的信息。他是在本地的,而不是你仓库的一部分。不会包含在push和merge中。如果我使用git log ,我得到的提交信息是我仓库的一部分。


(3)git stash

把你当前在工作区中的修改暂时保存起来。然后工作区恢复到上一次提交时的状态。你可以去进行其他的工作了。

git stash list

显示当前工作区中包含的stash。

git stash pop

恢复工作区的修改,同时删除标识符。


(4)cat ~/.gitconfig

查看当前git的用户名和邮箱;

.


(5)git取消工作区的修改(还未add,commit)

当我们在编写代码过程中,可能由于某种原因,我们想要回退到最初的修改之前,那么应该怎么做呢?有两种方法:

【第一种方法】

1.git status

显示哪些文件被修改了。

2.git checkout -- 文件名

放弃工作区的修改。(可以选择哪些文件要回退,哪些文件要保留修改)。


【第二种方法】

1.git reflog

查看每次提交的信息。

2.git reset --hard [commit版本值]

强制回退到上一次commit版本。(放弃项目中所有文件的修改,完全回退到上一个commit版本)。可以加[commit版本值],可以回退到任意版本。 不加[commit版本值],默认回退到上一个版本。



(6)git 取消工作区的修改(已经add,还未commit)

此时我们已经把一些修改add到了本地暂存区中了,但是发现这些修改是没有必要的。要进行回退。有两种方法:

【第一种方法】

1.git reset HEAD  [文件名]

清空本地暂存区。后面可以加上文件名,也可以不加文件名。当指定文件名时,也就是从暂存区清空该文件的修改。当使用"git reset HEAD",也就是清空所有文件的修改。相当于工作区修改了,但是还未add ,还未commit。

2.如果还想回滚到上一次commit,请参考(5)。


【第二种方法】

1.git reflog

显示每次提交的信息。

2.git reset --hard [commit版本值]

回退到任意次提交的版本。从这里可以看到,“git reset --hard commit版本”这个命令在任何时候都是可以使用的,不管你把工作区或者暂存区如何修改,直接使用这个命令就可以回退到任何版本。很强大,也要小心。



(7)git rm 文件名

删除文件跟踪,并且删除该文件。


(8)git rm --cached 文件名

删除文件跟踪,但是不删除该文件。



(9)解决冲突

a123
<<<<<<< HEAD
b789
=======
b45678910
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
c

其中<<<<<<(7个<)和=======(7个=)之间是我修改的。=======和>>>>>>>之间是别人修改的。发现冲突,我们只需要修改冲突,重新走一遍提交流程就好了。


(10)不顺利的代码提交

你在git push 时可能会失败,可能是因为别人提交了新代码,而你的代码和别人的代码冲突了。你需要先git pull,在本地修改冲突代码后,再add-->commit-->push流程。


(11)修改分支名称

可能由于某种原因,你想要修改一个分支的名称,当然除了master之外。

git branch -m 旧分支名 新分支名



分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
声明:博客文章版权属于原创作者,受法律保护。如果侵犯了您的权利,请联系管理员,我们将及时删除!
(邮箱:webmaster#sxt.cn(#换为@))
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183