Git 的使用(3)

提交历史查看

最简单的查看就是git log
在一行进行显示就是:git log --pretty=oneline,oneline也可以改成short,full,fuller。但是我用的多的就直接git log --oneline,只显示前面简短的hash值。下面这个可能更好一些:
$ git log --pretty=format:"%h %s" --graph,可以看到分支走向。牛逼的是这个format,可以定制要显示的格式。

合并commit

这个居然没早发现,前几天提交一个东西的时候就少提交了一个东西,不知道该怎么搞了,就直接又提交了一次,沙雕了。
可以直接用下面的git commit --amend可以将本次提交和最后一次提交合并到一起,可以加-m "xxx",加了commit就变成这次提交的信息,不加还是上次的。

$ git commit -m 'last commit'
$ git add forgotten_file
$ git commit --amend

修改commit信息

有时候提交commit,手残单词写错了或者字打错了想修改一下。网上找到了一个方法。链接
因为只是修改了一下commit 的描述信息,所以最后强制push也没有问题。我一开始以为这样不是很好,就准备合并之类的操作,但是它提示没有必要,然后还出了一些其他的问题,没搞懂,干脆直接-f了。

取消已经暂存的文件

git reset HEAD <file>...

分支

分支创建

#直接创建并切换
git checkout -b branch_name
#或者先创建,在切换对应分支
git branch branch_name
git checkout branch_name

分支合并

分支的功能完成之后,需要合并到master。先回到mater,保持master分支状态的干净,不然合并不了,然后执行下面指令。合并后的分支就没有必要了,可以删除。分支合并的时候可能会出现冲突,目前还没有出现,等出现的时候再看怎么处理。

git checkout master
git merge branch_name
#删除分支
git branch -d branch_name

合并游离分支

前几天切换到windows下写项目(之前一直在Linux下,所以服务器的记录比windows多了好几个记录),然后从服务器抓取之后,就直接开始下一步的代码编写。提交一个commit之后准备push origin master,发现出问题了,HEAD detached from xxxx。这个xxxx就是我windows下的master分支的位置,如下:
在这里插入图片描述
查了一下解决方法,就是fetch服务器的记录的时候应该先建一个分支,抓取的记录就到这个分支上了,然后只要合并这个分支到master上。但是我已经fetch了,所以直接在这个位置建一个分支就可以了。
在这里插入图片描述
这个时候HEAD还是游离的,temp已经指到最后的一个提交。下一步就要切换到这个temp上,让HEAD不在游离。HEAD->temp
在这里插入图片描述
再切换回来master上,并合并这个temp到master上。最后这个temp就可以删除了。在这里插入图片描述
有个帖子讲了为什么会出现这个问题,很清楚。链接

分支管理

  • 分支查看
    分支前面带有*号,为当前所在分支。
git branch
# 或者加上-v参数,可以看到每个分支最后一次提交的信息。
git branch -v 

远程分支

抓取

这里的抓取只会把远程的数据更新到本地,不会合并,需要自己来合并。

$ git fetch [remote-name]

推送

$ git push origin master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值