相关疑难解决方法(0)

Git工作流程和rebase与合并问题

我和其他开发人员一起在一个项目上使用Git几个月了.我有几年的SVN经验,所以我想我给这段关系带来了很多包袱.

我听说Git非常适合分支和合并,到目前为止,我只是没有看到它.当然,分支很简单,但是当我尝试合并时,一切都变得很糟糕.现在,我已经习惯了SVN,但在我看来,我只是将一个低于标准的版本系统换成了另一个.

我的搭档告诉我,我的问题源于我不顾一切地合并,并且我应该在很多情况下使用rebase而不是合并.例如,这是他所规定的工作流程:

clone the remote repository
git checkout -b my_new_feature
..work and commit some stuff
git rebase master
..work and commit some stuff
git rebase master
..finish the feature
git checkout master
git merge my_new_feature
Run Code Online (Sandbox Code Playgroud)

基本上,创建一个功能分支,始终从主分支到分支,并从分支合并回主分支.需要注意的重要一点是,分支始终保持在本地.

这是我开始的工作流程

clone remote repository
create my_new_feature branch on remote repository
git checkout -b --track my_new_feature origin/my_new_feature
..work, commit, push to origin/my_new_feature
git merge master (to get some changes that my partner added)
..work, commit, push to origin/my_new_feature
git merge master
..finish …
Run Code Online (Sandbox Code Playgroud)

git version-control git-merge git-rebase

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

Git:如何通过dev中的更改保持本地功能分支更新?

我一直在关注使用分布式git项目的本指南:http://nvie.com/posts/a-successful-git-branching-model/.它运作良好但现在我遇到了障碍.我创建了一个本地功能分支.我想让这个功能分支与最新的更新保持同步dev.这可能吗?我正在研究这个,发现我可能需要使用它rebase.但是有很多选择我不知道究竟需要使用哪一个.我该怎么做?

git branch

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

在没有冲突的 Git 合并之后,我没有触及的许多文件都变成了未暂存提交的更改和已暂存提交的更改

这个问题与合并问题非常相似,但有一个关键区别:不存在合并冲突。

所以我正在一个功能分支中工作,提交一些更改,然后运行git merge master​​. 我的目标是在创建 PR 将分支合并回 master 之前使用最新的 master 更新我的功能分支(这是我们选择的工作流程,其想法是首先解决功能分支上的问题)。我得到零合并冲突,并且合并似乎已完成。当我运行时,git log我的功能分支似乎拥有来自 master 的最新提交。但是,当我运行git status一堆我没有触及的文件(但似乎已在 master 中更新)时,突然进入我的“已提交的更改”列表,其中一小部分显示为“未暂存提交的更改”和“未跟踪的文件”。这不是一对一的,在我的最新示例中,我暂存了 45 个文件,但只有 33 个文件未暂存+修改或未跟踪。我没有提交这些文件,因为功能分支似乎已经拥有来自 master 的最新提交。

迄今为止,我只能通过运行git stash(并定期清除我的存储空间)来处理这个问题。有时我get reset HEAD也会跑过去清理。这看起来没问题,因为我有来自 master 的最新提交。然而,我不确定这些是可取的行为还是正确的做法。我是否因为忽略这些暂存文件而错过了 git merge 工作流程的关键部分?这里发生了什么?这种行为的名称是什么?我在我读过的任何指南中都找不到对此的引用。

最后一点可能会有所帮助。我使用的是 Mac,但这是一个 .net + React 项目,所以很多开发人员都在 Windows 上。这可能是 autocrlf 或平台之间其他行结束变化的问题吗?

git merge git-merge branching-and-merging git-stage

5
推荐指数
0
解决办法
818
查看次数