git 常见问题及操作方法

1.合并后发现合并错了怎么办?

git merge --abort //终止合并

2.想合并某一次提交怎么办?

切换到想要合并的分支: git cherry-pick + 要合并某次提交的index;例如: git cherry-pick 62ecb3

3.怎么暂存当前不想提交的代码?
  1. git stash 可用来暂存当前正在进行的工作;
  2. git stash save备注信息;
  3. git stash pop 恢复暂存区的内容;
  4. git stash list 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用git stash apply stash@{1}就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用git stash clear来将栈清空。
4.*git里的lf和crlf换行符自动转换
  1. 提交时转换为LF,检出时转换为CRLF git config --global core.autocrlf true
  2. 提交时转换为LF,检出时不转换 git config --global core.autocrlf input
  3. 提交检出均不转换 git config --global core.autocrlf false
5.git如何关联远程分支和本地分支?

关联分支的好处,可以直接使用git pull, git push 等命令简化操作,减少代码提交的失误等; 当我们在本地新建一个叫dev-test的分支的时候,我们希望他与git的远程上的某个分支进行关联。 刚好远程也有一个dev-test分支 git branch --set-upstream-to origin/devtest devtest 远程分支在前,本地分支在后。 git 查看当前分支关联:

  1. git branch -vv
  2. git config --list
6.本地修改提交到暂存区了,想撤回怎么撤回?
  1. git reset HEAD <file>将暂存区撤回(commit撤回);工作区也想撤回使用git checkout <file>,此命令一般用于修改本地暂存区,不影响远程库,写错代码完全撤回,操作不可逆。
  2. git revert 62ecb3 一般用于远程库撤销某次操作(push撤回),撤销到某个commit之前,revert后会重新做一次提交,head向前。
7.*使用git revert会出现的问题

因为git revert是用新提交覆盖旧提交,因此,被覆盖的提交等于不会被采用了。如果两个分支(假设是master和A分支)先合并再用revert回滚,之后又合并(A合并到master),就会发现在master分支上,A分支第一次合并之前的修改大部分不见了。这是因为从时间的发生顺序来看,A分支第一次合并之前的修改发生在revert之前,revert发生在后,而 revert抛弃了A第一合并之前的修改,那么再合并Git就认为你永远抛弃了A第一次之前的修改。要解决这个问题,需要把revert产生的提交再revert一次。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值