git常见问题处理
2015-06-25 19:53
393 查看
1. 撤销本地修改了的文件git checkout file2. 当本地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,最后做好后一次push4. 本地修改了,想pull服务器代码,但此时有与远程修改相同文件而产生冲突时, 可以先commit本地文件,但不push,然后pull后合并,有冲突解决冲突,继续开发5. 本地修改的文件希望分成两个或多个commitgit add -p file一般情况下,创建一个基于特性的提交是比较好的做法,意思是每次提交都必须代表一个新特性的产生或者是一个bug的修复。如果你修复了两个bug,或是添加了多个新特性但是却没有提交这些变化会怎样呢?在这种情况下,你可以把这些变化放在一次提交中。但更好的方法是把文件暂存(Stage)然后分别提交。例如你对一个文件进行了多次修改并且想把他们分别提交。这种情况下,你可以在 add 命令中加上 -p 参数输入 y 来暂存该块输入 n 不暂存输入 e 手工编辑该块输入 d 退出或者转到下一个文件输入 s 来分割该块6. stash 未提交的更改你正在修改某个bug或者某个特性,又突然被要求展示你的工作。而你现在所做的工作还不足以提交,这个阶段你还无法进行展示(不能回到更改之前)。在这种情况下, git stash可以帮助你。stash在本质上会取走所有的变更并存储它们为以备将来使用。stash你的变更,你只需简单地运行下面的命令-
希望检查stash列表,你可以运行下面的命令:?
如果你想要解除stash并且恢复未提交的变更,你可以进行apply stash:?
在屏幕截图中,你可以看到每个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 流程图
相关文章推荐
- CentOS 没有iptables了,怎么办?
- 如何高效编写测试用例
- git配置ssh密钥
- ReactJS读书笔记五:DOM操作
- MFC 一个简单的消息示例
- 文件输入输出(C++)
- C语言--函数指针和回调函数
- kobox : key_wq.c -v1 如何使用工作队列 workqueue
- INS-20802 PRVF-4664 PRVF-4657: Found inconsistent name resolution entries for SCAN name
- ACM中关于最大值的选取
- LeetCode Valid Sudoku
- 结合彩信的发送过程介绍HTTP
- hibernate 主键生成策略
- 用cin输入
- openCV中的人脸识别API
- MySQL数据库基础
- C# 文件与二进制互转数据库写入读出
- 使用cout进行输出
- 网络图片查看器
- win7如何修改系统文件