如何将项目提交到GitHub,腾讯T2手把手教你

show diff of all staged or unstated changes.

也即比较woking directory和上次提交之间所有的改动.

如果想看自从某个版本之后都改动了什么,可以用:

git diff [version tag]

跟log命令一样,diff也可以加上–stat参数来简化输出.

git diff [branchA] [branchB]可以用来比较两个分支.

它实际上会返回一个由A到B的patch,不是我们想要的结果.

一般我们想要的结果是两个分支分开以后各自的改动都是什么,是由命令:

git diff [branchA]…[branchB]给出的.

实际上它是:git diff $(git merge-base [branchA] [branchB]) [branchB]的结果.




##### []( )git commit



提交已经被add进来的改动.  

git commit -m “the commit message"  

git commit -a 会先把所有已经track的文件的改动add进来,然后提交(有点像svn的一次提交,不用先暂存). 对于没有track的文件,还是需要git add一下.  

git commit --amend 增补提交. 会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消.



#####git reset  

undo changes and commits.  

这里的HEAD关键字指的是当前分支最末梢最新的一个提交.也就是版本库中该分支上的最新版本.  

git reset HEAD: unstage files from index and reset pointer to HEAD  

这个命令用来把不小心add进去的文件从staged状态取出来,可以单独针对某一个文件操作: git reset HEAD - - filename, 这个- - 也可以不加.  

git reset --soft  

move HEAD to specific commit reference, index and staging are untouched.  

git reset --hard  

unstage files AND undo any changes in the working directory since last commit.  

使用git reset —hard HEAD进行reset,即上次提交之后,所有staged的改动和工作目录的改动都会消失,还原到上次提交的状态.  

这里的HEAD可以被写成任何一次提交的SHA-1.  

不带soft和hard参数的git reset,实际上带的是默认参数mixed.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值