相关疑难解决方法(0)

任何gui for git merge(w squash)?

我的工作流程:

  • 来自大师的分支
  • 在我的分支机构工作,经常提交(100+)
  • 当我的分支完成工作时,将master合并到我的分支中,解决所有冲突.
  • 在合并回主人之前的代码审查时间

对于CODE REVIEW,我需要显示两个头之间的差异压缩/组织我的提交(大约5次提交).这项任务的最佳GUI(跨平台?)是什么?

git merge user-interface branch squash

10
推荐指数
1
解决办法
1万
查看次数

我可以同时改变和压缩提交吗?

当我修复了之前提交的一些更改时,我总是连续两次运行rebase.是否可以一步完成此工作流程?假设我有4个新提交.

* (master) D
* C
* B
* A
* Base
Run Code Online (Sandbox Code Playgroud)

我在B中发现了一个错误,所以我创建了一个分支并修复它.

* (master) D
* C
| * (fix) Fix.
|/  
* B
* A
* Base
Run Code Online (Sandbox Code Playgroud)

接下来我跑去git rebase --onto fix B D把C和D移到B.

* (master) D'
* C'
* (fix) Fix.
* B
* A
* Base
Run Code Online (Sandbox Code Playgroud)

最后,我跑去git rebase --i fix^^查看最后几次提交,然后将B和Fix压缩到一个提交中.

* (master) D'
* C'
* B'
* A
* Base
Run Code Online (Sandbox Code Playgroud)

有没有更快的方法来完成相同的工作流程?我想合并会更容易,但合并对我来说是因为我正在使用需要线性历史的git svn.

git

9
推荐指数
1
解决办法
475
查看次数

使用“fixup!”之间有什么真正的区别吗?或“壁球!”?

我一直在阅读有关commitrebasefixup!的git 文档,但我仍然不明白squash!在执行rebase --autosquash. 我相信我理解修复以前的提交的fixup!作用,但我没有看到一个很好的例子来代替。任何人都可以澄清两者之间的区别,并给出一些它们以不同方式使用的背景吗?提前致谢!squash!

git git-rebase git-commit

9
推荐指数
1
解决办法
4663
查看次数

如何使用git rebase来清理复杂的历史记录

在我的笔记本电脑和工作以及家里的桌面上工作了几个星期与六个不同的分支和合并之后,我的历史变得有点复杂.例如,我只是进行了一次获取,然后将origin与origin/master合并.现在,当我做git show-branches时,输出如下所示:

! [login] Changed domain name.
 ! [master] Merge remote branch 'origin/master'
  ! [migrate-1.9] Migrating to 1.9.1 on Heroku
   ! [rebase-master] Merge remote branch 'origin/master'
----
 - - [master] Merge remote branch 'origin/master'
 + + [master^2] A bit of re-arranging and cleanup.
 - - [master^2^] Merge branch 'rpx-login'
 + + [master^2^^2] Commented out some debug logging.
 + + [master^2^^2^] Monkey-patched Rack::Request#ip
 + + [master^2^^2~2] dump each request to log
....

我想用git rebase清理它.为此目的,我创建了一个新的分支,rebase-master,并在这个分支上尝试了git rebase <common-ancestor>.但是,我必须解决许多冲突,并且分支rebase-master上的最终结果不再匹配master上的相应版本,该版本已经过测试并且可以工作!

我以为我在某个地方看到了这个解决方案,但再也找不到了.有谁知道如何做到这一点?或者,当我开始删除已经合并的不需要的分支时,这些错综复杂的引用名称是否会消失?

我是这个项目的唯一开发者,所以没有其他人会受到影响.

git merge rebase

8
推荐指数
2
解决办法
2万
查看次数

你在Git配置文件中最喜欢哪些设置来制作Git Fun?

你最喜欢的Git配置设置是什么让你在使用Git时轻松生活?

git version-control configuration

6
推荐指数
2
解决办法
276
查看次数

使用Github在Git中提交多个拉取请求(常规流程)

无论如何我都不是专家,所以我想确保以下流程是好的:

  1. 找一个我想贡献的回购.(原始回购)
  2. 在github上分叉原始回购.(我的叉子)
  3. 在我正在进行的任何项目之外,将我的叉子克隆到我的机器上.(孤立的克隆)
  4. 包括我的fork作为我想要使用它的项目的子模块.(子模块克隆)
  5. 隔离的克隆上创建一个功能分支,并添加一些东西.
  6. 创建另一个功能分支和其他不相关的东西.
  7. 原始仓库作为远程添加到我的隔离克隆.
  8. 重新启动原始回购.
  9. 将两个功能分支推入并拉入我隔离的克隆主服务器.
  10. 从我项目中的子模块克隆中拉出来.
  11. 将拉取请求提交到隔离克隆中每个功能分支的原始仓库.
  12. 拉请求被接受.
  13. 重新启动我的fork的主分支,以反映我的更改的新主人.

那里有什么错误吗?

然后,我应该如何处理本地计算机上的功能分支?或许将它们重新定位给我当地的大师?删除它们(是不是很糟糕?)?

如果他们不接受我的请求,我仍然希望将它们合并到我的本地主人.这会搞砸吗?

我试图弄清楚允许我提交基于特征的请求的流程,但是也可以在我的项目中使用我的更改而不管他们是否接受,并且在他们接受/拒绝它们之后直接使用我的本地副本.

很多阅读,但感谢您的帮助!

编辑:发现这个,相关文章后一天.不回答我的问题的复杂性,但仍然有用:http://codeigniter.com/news/contribution_guide#When:13:36:15Z

git workflow fork github

6
推荐指数
1
解决办法
1891
查看次数

从git到svn的挑选(或者,如何在git中保存项目历史并在svn中发布)

我是唯一一个使用git的人,其他人都在使用svn.我用'git svn'连接到团队svn,大多数情况下都可以.最近,我最初是在我自己的单独的git repo上开始了一个项目,现在我需要将其中的东西合并到svn中.但是,我仍然希望在发行版之间不断调整我自己的隐私实现.

那么,从我的私人仓库到svn-cloned仓库挑选一些提交的最直接的方法是什么?要求是保留完整的本地历史记录,并且每个选择只有一个svn提交.或者是否需要进行一些挤压?

作为实现这一目标的方法,有没有办法让私有仓库作为svn克隆仓库的另一个来源?

git workflow git-svn cherry-pick

5
推荐指数
1
解决办法
743
查看次数

Git:推送时忽略某些提交

我想对我的fork进行一些私有的修改.我该怎么做呢?

有一个问题在这里关于推动单个提交,答案是挑选您希望从私人分支推,并把它们主枝上的提交.但是,我想要更多的东西,在推动时忽略某个提交.

git

5
推荐指数
1
解决办法
192
查看次数

git工作流:每个人都有一个分支,或者每个人都有一个主人?

使用git与多人合作时,情况会更好

  1. 让每个人都在主人之间工作,并在彼此的主人之间合并,或者
  2. 为每个人在自己的标题分支工作?

正如我所看到的那样,在(1)的情况下,虽然每个主人都充当一个分支,但每个人都希望在彼此的工作之间融合一个主要是线性的流,而在(2)中,每个人都希望合并一个共同的主人.进入他们的分支,并在他们准备好时将更改从他们的分支推送到共同的主人.

具有使用git工作在中型到大型团队工作经验的人可以发表任何评论吗?哪种方法最适合您的团队?我想第三种选择是总是使用特征分支而不是人分支,尽管我认为这与(2)从这个问题的观点基本相同.

我想,在(1)和(2)中,一个人负责将变更拉到"官方"主人.如果超过一个人作为推动访问官方主人,这将如何延续?

git workflow

5
推荐指数
1
解决办法
1343
查看次数

压缩和重组提交

我看过很多关于使用git commit --amend或重新设置壁球提交的博客文章.

我发现git重置到最后一个检查点比较容易一些(比如在我的所有'保存点'微观发现之前),然后使用交互式添加来挑选最佳提交顺序.

这有什么缺点吗?
我想知道b/c因为我读过的大多数博客都是为了这个目的而修改或改造的

git

5
推荐指数
1
解决办法
675
查看次数