一些比较常用的git命令

常用git命令

1、新建

新建分支:
git checkout –b XXX

会在本地新建一个分支。

查看所在分支

git branch
查看当前状态
git status

删除本地分支

 // D是强制删除
git branch -D Test_Branch

2、commit相关

压缩合并commit

比如合并前两次:

git rebase -i HEAD~3

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^ , 上上一个版本就是HEAD^^ ,当然往上100个版本写100个^ 比较容易数不过来,所以写成HEAD~100

进入编辑模式,第一列为操作指令,第二列为commit号,第三列为commit信息。

pick:保留该commit;
reword:保留该commit但是修改commit信息;
edit:保留该commit但是要修改commit内容;
squash:将该commit和前一个commit合并;
fixup:将该commit和前一个commit合并,并不保留该commit的commit信息;
exec:执行shell命令;
drop:删除该commit。

把第一行以下的pick改成s,保存退出。在弹出的界面里编辑修改后的信息,保存退出,就可以看到信息合并了。然后需要同步到远程仓库

git push -f

建议强制push之前确定一下到底还有没有问题==
具体可以看一下blog
rebase是个挺有用的命令,可以看下blog2

修改commit

可以修改最后一次提交的信息

git commit --amend 

对于历史commit的修改需要用到rebase:
比如修改当前版本倒数第三次的信息:

git rebase -i HEAD~3

会出现大概类似这样的内容:

pick:*******
pick:*******
pick:*******

最下面是最新的一次提交,需要修改哪一次,就把pick改成edit,然后保存退出。
这样通过git log可以发现修改的这条commit变成了最新的一次提交,就可以用ammend来修改了;
改完之后把顺序改回来

git rebase --continue
不commit下切换分支

不想提交但是想切换分支,用stash: https://blog.csdn.net/hxdafei1989/article/details/64921521

撤回commit
git reset --soft HEAD^

这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,代码仍然保留。

rebase之后撤销
git reflog
git reset --hard XXX

3、更新相关

更新本地
git pull --rebase

强制用远程覆盖本地

git fetch --all
git reset --hard origin/master
git pull
更新远程
git push <远程主机名> <本地分支名>:<远程分支名>

如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:

git push --force origin master

删除远程的分支

git push origin --delete master
rebase代码

最好经常rebase https://blog.csdn.net/ManyPeng/article/details/81095744

git checkout master
git pull origin master
git checkout XXX
git rebase msater
git push --force-with-lease origin XXX
撤回手滑提交的更新
git log
git reset --hard xxxx
git push -f

具体可见 blog

解决冲突

https://blog.csdn.net/qq_37708668/article/details/88813266

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值