我interactive在重新定位分支时忘了检查选项.我需要一个最终的提交,但我在主人身上有N个提交.在rebase过程结束后,是否可以压缩提交?
我知道,我可以进行交互式变基、重写首次提交并修复所有其他内容。但如果一个分支包含数百个提交,它就会变得非常乏味。
有没有更简单的方法?
我目前对git的使用可以被描述为"早期和经常提交".我当然试图使每个提交成为一个逻辑单元(如良好的提交标准中所讨论的).但是,我经常迭代设计并希望保存每个阶段.如果我想出一些丑陋而又实用的东西,我想在清理之前提交检查点.
您在这件事上的经验是什么 - 它是否给您的团队带来了问题?超越丑陋的代码 - 只要你不修复直到修复错误,本地提交破坏的代码是否可以接受?
我正在使用Flyway跟踪数据库更改,并使用git进行版本控制。
Flyway取决于迁移脚本,每个迁移脚本都以递增的编号命名。
现在,我遇到以下情况:在两个单独的分支(分别称为A和B)上开发了两个功能,都需要更改数据库。两位开发人员都为其分支机构的数据库创建了迁移脚本。当他们大约在同一时间从master分支出来时,他们都为迁移脚本分配了相同的文件名:V42__migration.sql。
现在,分支A合并为master。合并分支B时,由于V42__migration.sql文件原因,发生了合并冲突。解决此冲突的正确方法是将分支B的迁移脚本重命名为V43__migration.sql。但是,在合并git时,尝试将两个文件合并为一个,实际上我实际上需要两个文件都未更改,但是将其重命名。
解决这种与git合并冲突的最佳方法是什么?
我在本地有两个提交:
commit adae40c5e2b69a41447b08cc3dcb77003611fbbe
Author: Me
Date: Thu Mar 21 14:17:35 2019 +0000
1.0.0
commit ceaa65ea06f48dc24554a6f798aae2d668f3a43d
Author: Me
Date: Fri Feb 1 10:04:36 2019 +0000
first commit
Run Code Online (Sandbox Code Playgroud)
我该如何压榨这些消息,以使该消息只有一次提交1.0.0?
我尝试了以下方法,但都没有为我工作:
git rebase -i HEAD~2
git rebase -i master
Run Code Online (Sandbox Code Playgroud) 我想把最后12个提交压缩成一个.我尝试了这个命令,但得到一个致命的错误:
>git rebase -i HEAD~12
fatal: Needed a single revision
invalid upstream HEAD~12
Run Code Online (Sandbox Code Playgroud)
我有一个远程存储库,我已经推送了一些提交,但它并不重要,因为我将它推送到heroku,所以此代码不与其他用户共享.我之所以提到它,是因为我知道当一些提交已经提交时,重写历史记录并不好.
>git remote
heroku
Run Code Online (Sandbox Code Playgroud)
在security与heroku分支已合并到master:
>git branch
heroku-setup
* master
security
Run Code Online (Sandbox Code Playgroud)
我的提交看起来像那样:
>git log --pretty=oneline
04d85b2959b73daff8ce0d49002c81469748798d Switch to Google OAUth 2.0
862cd0f7a9243d602dbeb1d670c08f20a1b832d8 Switch to Google OAUth 2.0
b25a48a657b9bf5087eaa9c1821163d0746b5ac2 Fix mongodb config
bd4c95dd25056a8a8bc6ed97faf01c7007d3f598 Setup Heroku
c82762c29fc1e5563082d710a1d241ce3ec7681f Setup Heroku
976d2baabe386eb1135e7789be167b081d40eeb0 Setup Heroku
e7ae7dd8755e75fc2bfd4bee460ad7f73b6e8ae4 Setup Heroku
6a389b55b782f37daa1c7434b68fe48100bb79e2 Setup Heroku
c26583bcf92f383c66526a29ee5642c3123b650e Setup Heroku
f7d36cf7215de13ade5ff537c3954f99f05506bd Setup Heroku
1110ed9efc60a27ac6334fb5987110de27983dcc Security with Passport
073d3ba79b727e2dc938aa4345f144baa66e05e3 Security with Passport
b82898acf97cc52f94a08e13388a7641460d8ef2 …Run Code Online (Sandbox Code Playgroud) 我的分支上有 10 次提交,更改了 15 个文件。现在我只想保留文件更改而不保留提交。
意味着现在我想在一次提交中更改 15 个文件。
git重置--hard commit_id
git推送--force
上面的命令对我们没有帮助。
编辑:
我想将我的分支移动到一个特定的提交,并维护当前提交中发生的所有文件更改。然后想要在一次提交中添加所有取消存储的更改。
有可能吗?