【问题标题】:Get changes from one branch into another one in git and how can I work on my own branch在 git 中从一个分支到另一个分支的更改以及如何在自己的分支上工作
【发布时间】:2023-04-03 18:10:01
【问题描述】:

我对 git 有点迷茫,这是我第一次和其他人一起使用 git。

我想要做的是将分支中所做的更改带到我正在工作的分支中,假设当我执行git branch --all 时,我看到的是:

  master
* c
  remotes/origin/HEAD -> origin/master
  remotes/origin/a
  remotes/origin/master
  remotes/origin/c

所以,我在c分支上工作,我有一个朋友在a分支做了一些改动,我怎样才能把他的改动带到我的分支上呢?

我不太明白的另一件事是如何在我自己的分支上工作,假设我在文件 blah.html.erb 中修复了一些东西,我想做一个提交并将其上传到我自己的分支,可以进行以下操作吗?

git remote add blah.html.erb origin/c
git commit -m "Some changes"
git push origin origin/c

您好。

【问题讨论】:

标签: git github git-branch git-clone git-checkout


【解决方案1】:

为了访问您朋友的分支,首先您需要将它们从远程存储库获取到您的本地存储库:

git fetch --all

这会从远程存储库中提取任何本地不存在的分支并将它们添加到您的存储库。完成此操作后,您所要做的就是将他的分支合并到您的分支中。假设你在你的分支上(如果不只是运行git checkout c),就运行

git merge a

并接受弹出的合并提交。至于“我不太明白的另一件事是如何在自己的分支上工作”,我认为您误解了 git 的一些非常基本的基础知识,我强烈建议您通读 the docs 以给自己批判性的知识。基本上,git 的想法是你有一个本地存储库,它在任何给定时间都有一组数据,并且可能还有任意数量的远程存储库,其中还包含一组可能与你的数据不同的数据,具体取决于你上次的时间将您的本地存储库与任何远程存储库同步。

你应该只运行一次git remote add xxxx;当您想添加远程存储库 (xxxx) 以供将来使用时。您的本地存储库已经知道它存在(请参阅<your project root>/.git/config),因此您无需再次运行它。你需要做的是:

  1. 将新文件添加到您的本地索引:git add blah.h
  2. 将该文件提交到您的本地存储库:git commit -m "some changes"
  3. 将更新后的分支推送到 remote 存储库:git push origin c

这有意义吗?如果没有,你真的,真的需要对 git 的绝对基础做更多的阅读。您已经做出了开始使用 git 的非常好的决定,但在您能够有效地使用它之前,您似乎还有一些工作要做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-17
    • 2020-06-03
    • 2018-06-22
    • 2018-06-21
    • 2017-02-21
    • 1970-01-01
    • 2011-05-27
    • 1970-01-01
    相关资源
    最近更新 更多