git常见问题处理
来源:互联网 发布:淘宝标题优化时间 编辑:程序博客网 时间:2024/04/30 00:17
1. 撤销本地修改了的文件
git checkout file
2. 当本地add了但未提交,如何撤销. 即已经git add 了,然后不想提交了
git reset file # 先从暂存区恢复
git checkout file #
如果commit了,删除commit的文件
方法:
git reset --hard <commit_id>
git push origin HEAD --force
根据–soft –mixed –hard,会对working tree和index和HEAD进行重置:
git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容
3. 未开发完成时,为不影响其他人, 本地多次commit,最后做好后一次push
4. 本地修改了,想pull服务器代码,但此时有与远程修改相同文件而产生冲突时, 可以先commit本地文件,但不push,然后pull后合并,有冲突解决冲突,继续开发
5. 本地修改的文件希望分成两个或多个commit
git add -p file
一般情况下,创建一个基于特性的提交是比较好的做法,意思是每次提交都必须代表一个新特性的产生或者是一个bug的修复。如果你修复了两个bug,或是添加了多个新特性但是却没有提交这些变化会怎样呢?在这种情况下,你可以把这些变化放在一次提交中。但更好的方法是把文件暂存(Stage)然后分别提交。
例如你对一个文件进行了多次修改并且想把他们分别提交。这种情况下,你可以在 add 命令中加上 -p 参数
输入 y 来暂存该块
输入 n 不暂存
输入 e 手工编辑该块
输入 d 退出或者转到下一个文件
输入 s 来分割该块
你正在修改某个bug或者某个特性,又突然被要求展示你的工作。而你现在所做的工作还不足以提交,这个阶段你还无法进行展示(不能回到更改之前)。在这种情况下, git stash可以帮助你。stash在本质上会取走所有的变更并存储它们为以备将来使用。stash你的变更,你只需简单地运行下面的命令-
git stash
希望检查stash列表,你可以运行下面的命令:
git stash
list
如果你想要解除stash并且恢复未提交的变更,你可以进行apply stash:
git stash
apply
在屏幕截图中,你可以看到每个stash都有一个标识符,一个唯一的号码(尽管在这种情况下我们只有一个stash)。如果你只想留有余地进行apply stash,你应该给apply添加特定的标识符
7. cherry-pick 把一个分支的commit合入另一个分支,而不是把所有分支合并
简而言之,cherry-pick就是从不同的分支中捡出一个单独的commit,并把它和你当前的分支合并。如果你以并行方式在处理两个或以上分支,你可能会发现一个在全部分支中都有的bug。如果你在一个分支中解决了它,你可以使用cherry-pick命令把它commit到其它分支上去,而不会弄乱其他的文件或commit。
让我们来设想一个用得着它的场景。我现在有两个分支,并且我想cherry-pick b20fd14: Cleaned junk 这个commit到另一个上面去
git cherry
-
pick [commit_hash]
8. git 流程图
- git常见问题处理
- Git常用命令以及常见问题处理
- git使用和常见问题处理
- git常见问题
- Git常见问题
- git常见问题
- Git常见问题
- git常见问题
- git 常见问题
- git 常见问题
- git常见问题
- git常见问题
- Git常见问题
- git常见问题
- git常见问题
- 常见问题处理
- 常见问题处理
- 常见问题处理
- 使用Log4j来记录日志-PatternLayout和格式修饰符
- 【Selenium】PARTI selenium IDE
- MapReduce中作业调度器
- Android Material Design 5.0 PickerDialog
- 合体冰冰及文字水印
- git常见问题处理
- 代理模式与动态代理模式
- C++ Primer学习6:const指针 和 指针与const限定符区别
- wget下载深圳大学毕业生照片
- iOS网络篇---使用NSConnection 实现post和get发送和接收(同步和异步模式)
- java对象与json对象间的相互转换
- C++ Primer快速学习 第一章 入门之二:输入与输出 (IO)
- 51单片机 学习之旅[3] 中断-定时器
- Oracle:杀死死锁进程