繁体   English   中英

在git中将更改从一个分支更改为另一个分支,以及如何在自己的分支上工作

[英]Get changes from one branch into another one in git and how can I work on my own branch

我对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 fetch --all

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

git merge a

并接受弹出的合并提交。 至于“我不太了解的另一件事是我如何在自己的分支上工作”,我认为您误解了git的一些非常基本的基础知识,因此我强烈建议您通读文档以给出自己的关键知识。 但是从根本上说,git的想法是您有一个本地存储库,该存储库在任何给定时间都有一组数据,并且可能有任意数量的远程存储库,其中还包含一组数据,这些数据可能与您上次使用的时间不同。已将您的本地存储库与任何远程存储库同步。

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

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

这有意义吗? 如果不是这样,您确实真的需要对git的绝对基础进行更多阅读。 您已经开始使用git做出了一个非常好的决定,但是听起来您还需要做更多的工作才能有效使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM