问题标签 [git-branch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8179 浏览

git - 为什么切换分支时 Git 不删除某些文件?

我经常遇到这种情况。我正在开发一个主分支,我需要测试一个插件,所以我创建了一个新分支并检查它。我将插件下载到项目目录中并进行测试。然后我切换回主分支并删除我创建的分支。

最终发生的是插件的文件保留在项目目录中。我想知道这是否是正常行为。为了在分支之间进行无缝切换,我必须做什么?

0 投票
1 回答
140 浏览

git - Git:将分支收敛到单个提交对象

假设我目前在 git 中有以下内容:

所以我从master分支开始,在两次提交后,我分支到featureX.

现在,在 2 次提交之后,我想将其与 .的最后一次提交featureX融合master并继续工作。masterfeatureX

这意味着我不想合并和之间的文件masterfeatureX而是将所有完成的提交转移featureX到并从上一次完成的提交master继续工作。masterfeatureX

基本上,是这样的:

为此,我需要遵循哪些步骤?

请注意,我不想将任何文件合并在一起......只需覆盖master. 您还可以假设master在处理featureX.

0 投票
2 回答
15781 浏览

git - git -- 为某些用户锁定主分支?

我想强迫其他团队成员不要在主分支上工作,而是在开发分支上工作。我们有一个中央 git 存储库,我们将工作推入其中。我想知道是否可以阻止用户将更改推送到主分支,但只允许某些用户这样做。

我想要以下“工作流程”

  • 开发总是只在开发分支上完成
  • 发布经理负责主分支,只有他可以将开发分支中的内容合并到主分支中,并将其推送到中央存储库上的主分支。

这可能吗?我怎样才能做到这一点?

0 投票
3 回答
15820 浏览

git - “集成分支”的目的是什么?

如果一个分支策略由n 个特征分支组成,一个“主”(主线)和一个“集成”分支。集成分支的目的是什么?为什么不能对特性分支本身进行测试和集成?

0 投票
2 回答
13087 浏览

git - Git:如何“撤消”合并

情况:从A我的 Master 开始分支并B(C). 在进行了更多更改后,我D发现我需要在没有分支中发生的更改的情况下部署代码。如果我手不合并它会很好。

首先,我想知道我应该从这里做些什么来部署代码,就好像合并从未发生过一样。注意:在分支中编辑的相同文件都没有在 master 中编辑。

第二...

我没有时间想出最好的方法来处理这个问题,所以我删除了分支添加的文件,并手动恢复了在分支中所做的一些编辑,然后提交了部署结果(F

我希望能够继续开发分支并将 master 中的任何更改合并到其中以使其保持最新状态,但是如果这样做,我创建的内容F将被合并并导致文件被删除并且要还原的编辑。处理这个问题的最佳方法是什么?

0 投票
2 回答
171 浏览

git - 我应该如何使用 git 分支?

git新手。从概念上讲,对其中一些如何工作感到有些困惑。

所以听起来,就本地工作而言,拥有一个只包含投入生产的内容和另一个用于测试想法等的分支是个好主意,然后我可以合并它们。是否像创建这些分支一样简单,然后当我不希望我的项目的任何最近更改提交到主分支时,我只需切换到“测试”分支并从那里提交/推送?我只是对本地项目活动和 git 之间的交互感到困惑。

比如说,我在我的 android 项目中添加了一些代码并保存,除非我提交,否则这些更改对主仓库没有影响?即使就实际的本地项目而言,这些更改也已保存,情况也是如此。

我在想这个吗?如果没有,让我直截了当?

0 投票
1 回答
12058 浏览

git - 在 git 裸存储库中切换当前分支

我实际上想删除我正在使用的裸存储库中的一个分支,但是这个任务遇到了死胡同,因为如果没有裸存储库没有的“工作树”,我就无法从主存储库切换。

当我运行git branch -d master输出是:

所以我尝试通过运行切换到另一个名为“develop”的分支git checkout develop,输出为:

0 投票
10 回答
1963089 浏览

git - 从另一个分支在 Git 中创建一个分支

我有两个分支:masterdev

我想从dev分支创建一个“功能分支”。

目前在分支开发,我做:

... (一些工作)

但是,在可视化我的分支之后,我得到了:

我的意思是分支似乎合并了,我不明白为什么......

我做错了什么?

你能解释一下你是如何从另一个分支分支并推回功能分支的远程存储库的吗?

所有这些都在一个分支模型中,就像这里描述的那样。

0 投票
3 回答
7787 浏览

git - 如何获取分支开始的信息?

据我所知,提交对象仅包含有关父母的信息,所以如果我遇到这样的情况:

这是某种等价于

但是如果我的主人会继续前进呢?

在分支 1 上,git log --graph --decorate只会显示:

如果我知道我是从哪个分支开始的,我可以打电话git merge-base master branch-1,但是如果我不知道我是从哪个分支开始的怎么办?


PS。我仍在学习英语,但有时我会犯愚蠢的错误。我正在尽我所能,用英语写问题和答案,但是如果你能编辑我的帖子以防出现任何错误,我会非常高兴。我保证,你的努力不会白费。

0 投票
6 回答
72664 浏览

git - Git checkout 不会改变任何东西

我真的很喜欢 git。至少,我喜欢 git 的想法。能够将我的主项目作为一个单独的分支签出,我可以在其中更改我想要的任何内容,而不会有搞砸其他所有内容的风险,这真是太棒了。但它不起作用。

基本上,我的工作流程是这样的:

  1. 将稳定版本签出到新分支以试验新代码
  2. 做一堆改变——我无意保留这些,我只是在试验。
  3. 看看我改变的所有东西
  4. 添加所有要跟踪的更改
  5. 提交分支并将分支推送到原点(如果有效,否则跳过此步骤)
  6. 决定尝试另一种方法,回到高手
  7. 观察我正在工作的实验分支中的工件,即使我在主分支中。

每次我将一个分支检出到另一个分支,对一个分支进行更改,然后检出原始分支时,我仍然拥有另一个分支中发生的所有文件和更改。这变得非常令人沮丧。我已经读过,当您在执行此操作时在 IDE 中打开文件时可能会发生这种情况,但我对此非常小心,并且都关闭了 IDE 中的文件,关闭了 IDE,并在切换之前关闭了我的 rails 服务器分支,这仍然会发生。此外,运行 'git clean -f' 要么删除在任意提交之后发生的所有内容(并且是随机提交),或者在最新情况下,没有将任何内容更改回其原始状态。

我以为我正确地使用了 git,但在这一点上,我已经无计可施了。我正在尝试使用我项目的稳定版本来处理一堆实验性代码,但我一直不得不手动追踪并修复我所做的所有更改。有什么想法或建议吗?

无论我是否在分支上进行提交,这似乎都会发生。