标签: branching-and-merging

Git 从也已重新设置基础的分支重新设置分支的基础

假设我有这种情况,是branch1master. 经过几次提交后branch1,我还创建了另一个分支,称为branch2. 此后,其他人在 中犯了 (D) 罪master。现在我想branch1master. 但是既然branch2branch1哈希值已经被重写并且现在branch2丢失了呢?

master:  A - B - C - D
                  \
branch1:           E - F
                        \
branch2:                 G - H             

Run Code Online (Sandbox Code Playgroud)

在 master 之上对分支 1 进行变基后,分支 2 就会丢失,因为变基重写了分支 1 的哈希值。

master:   A - B - C - D
                       \
branch1:                E - F

branch2:                 G - H             

Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否有正确的方法可以在branch1之上再次使用git rebasebranch2?

git version-control github rebase branching-and-merging

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

GIT补丁 - 或 - 推?

我们正在考虑在新项目中使用git的两种方法:

  1. 开发人员向维护者发送补丁(可能最终会成为开发人员之一),他会使用补丁,测试和集成

  2. 开发人员将他们的提交推送到公共"开发人员"分支(项目的每个子模块的分支),维护者获取有关推送的邮件通知,并且可以审查\ test\integrate.

最终结果是相同的 - 包含开发人员提交的基于最新的分支.

所以 - 我的问题是,哪个更好?我应该在一个小组中使用非开源项目开发人员吗?(听起来很奇怪,我发送补丁邮件给那个坐在我旁边的人)

git branching-and-merging git-patch git-branch

0
推荐指数
1
解决办法
985
查看次数

重命名TFS 2010分支并使用相同名称创建新分支后出现问题

我们在开发环境中有以下源代码控制结构:一个Main分支,它是所有分支的根,以及一个Development分支,它是Main的子代.现在,我最近在Main分支上进行了"重命名",现在它被称为OldMain,之后创建了一个来自Development的新分支,我称之为Main.

完成这些操作后,我意识到它有一些奇怪的行为:OldMain分支丢失了他的历史记录,无法修复,New Main分支"抓住"了同名旧分支的历史记录,使得不一致,因为现在主分支中的代码包含了假历史...

我应该事先检查一下这些操作的预防措施(不知道tfs 2010中的重命名操作实际上是分支+删除),但现在我需要知道如何解决这种不一致问题.

如果我尝试恢复这两个操作(恢复变更集)和签到,我是否会完全丢失原始Main的历史记录?

我需要一些关于该怎么做的建议.

提前致谢.

tfs2010 branching-and-merging

0
推荐指数
1
解决办法
2565
查看次数

Git三方合并与冲突noob问题阅读本书

我刚刚开始学习git版本控制,我正面临着这个问题.鉴于以下分支结构(取自免费书籍):

分支结构

我们假设C4/C5提交改变了index.html文件的相同部分.

git checkout master
git merge iss53
Run Code Online (Sandbox Code Playgroud)

如果我理解它,我需要手动解决冲突.这本书讲述了冲突文件.这个冲突文件在哪里?鉴于以下冲突,如何:

<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
  please contact us at support@github.com
</div>
>>>>>>> iss53:index.html
Run Code Online (Sandbox Code Playgroud)

我可以丢弃HEAD的所有更改,仅将"iss53"分支的更改合并为"master"吗?如何编辑这些行?

git version-control branch branching-and-merging git-branch

0
推荐指数
1
解决办法
155
查看次数

Gitflow - 掌握和开发分道扬镳

实现git分支模型如下图

http://nvie.com/posts/a-successful-git-branching-model/

但是在这些步骤之后,我的分支 develop 和 master 出现了分歧

第 1 步:将 release 合并到 master 中(没有快进)

第 2 步:将发布合并到开发中(没有快进)

由于第 1 步的合并提交不适用于第 2 步,因此 develop 和 master 出现分歧。

如何确保开发和掌握不会出现分歧。?

git branching-and-merging git-flow

0
推荐指数
1
解决办法
582
查看次数

如何在Git中创建目录结构?

我试图了解如何在Git中创建映射到我的开发过程的目录结构.

顺便说一句,我是Git的新手,但不是源代码控制.

我使用GitLab作为我的存储库管理器.

我已将我的存储库添加到GitLab并成功克隆了存储库.

我想要创建的开发过程如下:

主人| 完成| QA | INT

每当有人克隆存储库时,他们将自动看到这个分支结构并将在int分支上工作.

我已经尝试运行命令,认为它会创建结构,但它不会出现(也许我错了).

git checkout -b Done master
git checkout -b QA Done
git checkout -b INT QA

git branch
Run Code Online (Sandbox Code Playgroud)
  Done
* INT
  QA
  master
Run Code Online (Sandbox Code Playgroud)

无论如何,我假设我错过了一些简单的东西(希望如此).

有没有人对如何设置这个简单的分支层次结构有任何见解?

谢谢

git branch branching-and-merging git-branch gitlab

0
推荐指数
1
解决办法
1754
查看次数

git 中的 3 向合并 - 比较是如何工作的

我有该文件的三个版本:

version 1       common ancestor      version  2
-------------   ---------------      ------------- 
before          original line        original line
original line                        after
Run Code Online (Sandbox Code Playgroud)

比较这些版本以生成最终合并版本时会发生什么?

我已经阅读了一些关于这个主题的信息,但我仍然很困惑它到底是如何工作的。

至于后一个例子:

比较版本之间的单行是否为线性?如果是这样,则最终合并应如下所示:

1 line: before
2 line: conflict (both left and right contributors are changed compared to ancestor) 
Run Code Online (Sandbox Code Playgroud)

这是正确的理解还是工作方式不同?

git merge git-merge branching-and-merging

0
推荐指数
1
解决办法
772
查看次数

意外合并错误分支后如何修复 Git master 分支?

我有一个开发分支,在它准备好之前我不小心将其合并到了 Master 分支中。

由于我错误地执行了此操作,因此我决定恢复 Master 中的更改,以便我的任何更改都不会发生在那里。此过程创建了一个恢复提交,从主服务器中删除了我的更改。

一切都很好我以为...

一周过去了,我几乎准备好将我的分支合并回 Master 中。由于还有其他开发人员在其他分支上工作,我决定通过将 Master 中的任何新更改合并回我的分支来更新我的开发分支。

这个过程似乎删除了我所有的工作。

回顾一下Master刚刚传来的历史,它包含了意外提交和恢复提交。这意味着每当我从 Master 更新我的分支时,恢复提交都会删除我的大部分工作。

如何将 master 中的更改合并回我的分支,但不包括恢复提交?

我能想到的唯一的两种可能性是:

  • 仔细检查合并中的每个项目,并尝试手动删除恢复项目(我认为这是不可能正确完成的,而且完全是一场噩梦)。
  • 复制我在本地进行更改的所有文件,从 Master 合并,然后尝试将所有更改复制/粘贴回我的分支(这可能也是一场噩梦)。

我希望有一种更好的自动化方法来做到这一点(我希望进行某种合并但忽略某些提交过程)。

git merge git-merge branching-and-merging merge-conflict-resolution

0
推荐指数
1
解决办法
6497
查看次数

我应该更新哪个分支的应用程序版本号?

我的应用程序需要更改配置文件中的版本号。如果我遵循 GIT Flow 分支方式,那么理想情况下我应该更改该文件的哪个分支?它是在我们创建发布分支之前开发,还是在发布分支中(然后更新回开发)?

git branching-and-merging git-flow

0
推荐指数
1
解决办法
1353
查看次数

Github 问题:Git 推送到 master 分支,而不是 main 并且无法合并两者

每次我在 github 上创建存储库并推送我的文件时,它都会创建两个分支,主分支和主分支。所有更改都转到主分支,当我转到“比较和拉取请求”时,它说没有什么可比较的,因此无法推送到主分支。

这些是我采取的步骤: 转到 github,创建一个存储库。转到我的文件夹并运行git init, git add ., git commit -m "first commit", git remote add origin my@repository,git push -u origin master 现在我知道了,我需要创建一个主分支,所以我也运行git checkout -b main它运行成功,但是当我运行git push --set-upstream origin main它时会抛出一个错误:

 ! [rejected]          main -> main (non-fast-forward)
error: failed to push some refs to 'git@github.com:myuser/myrepo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git …
Run Code Online (Sandbox Code Playgroud)

git github branching-and-merging

0
推荐指数
2
解决办法
954
查看次数

git 分支离开另一个分支

嗨,我有两个并行的“dev”和“prod”分支,我想将另一个本地分支添加到名为“issue22”的本地开发分支(GitPro 将此称为主题分支 - 其他人称之为功能分支)。所以在终端我创建了我的功能/主题分支

git checkout -b issue22 dev
Run Code Online (Sandbox Code Playgroud)

我认为这会“创建一个名为 issue22 的分支”,并从 dev 分支中的相同源代码开始。我期待看到

prod
dev
dev/issue22
Run Code Online (Sandbox Code Playgroud)

但是当我发送命令 git branch -a

相反,我看到

prod
dev
issue22
remotes/origin/head -> origin/master
remotes/origin/dev
remotes/origin/prod
Run Code Online (Sandbox Code Playgroud)

我应该使用什么命令来创建一个新分支,以便“issue22”看起来像一个与“dev”分支并行运行的主题/功能分支,并且似乎也源于 dev 分支?

非常感谢

git branch github branching-and-merging

-3
推荐指数
1
解决办法
2919
查看次数