如何在本地的同一个git目录下工作,而不用为每个任务克隆分支?

moiiocjp  于 2023-02-14  发布在  Git
关注(0)|答案(2)|浏览(119)

我们遵循敏捷,我们必须为每个任务创建一个新分支。这里的挑战是我正在做的项目是巨大的,每次克隆一个新分支都要花很多时间。我如何每次切换到一个新分支,而不用手动克隆分支,并将更改推送到该分支,等等。
到目前为止,我每次都克隆一个新分支(20 + GB),并将更改推送到该分支,每个sprint都将继续这个循环。
我希望有一种方法可以在本地创建一个新的分支并进行更改,然后将这些更改推送到存储库,在存储库中我们发出一个拉取请求并将其合并到“develop”分支。

xdnvmnnf

xdnvmnnf1#

我怀疑你是在后台使用了不同的版本控制工具,或者根本没有使用任何工具,然后把“new分支”和“new local copy of the code”联系起来,这不是git所说的“branch”的意思。
正如你所说,你开始在git中工作是通过“克隆”仓库的其他副本(通常,但不一定,托管在GitHub或GitLab之类的地方),如下所示:

git clone git@somehost:SomeThing/AwesomeApp /home/me/my-projects/AwesomeApp

/home/me/my-projects/AwesomeApp中,现在有两件事:

  • 您克隆的远程资料库的 * 所有分支 * 的整个历史记录的完整克隆
  • 一个基于仓库某个分支中最新代码的工作副本。历史记录可能包含许多现有分支,您可以将工作副本指向其中任何一个分支。

对于大多数工作流,这是您所需要的一切,永远;你不需要再运行git clone除非你有一台新的计算机你想要工作.
当人们说“create a分支for each task”时,他们的意思是在 * /home/me/my-projects/AwesomeApp中运行git命令来修改工作副本的“current branch”。当你提交时,你会将工作副本中的修改保存到一个新的提交中,无论你选择或创建了哪个当前分支。
Git特别擅长保持这些分支“轻便”--事实上,git中所有的一个分支存储都是指向其最新修订版本的指针,从这里可以通过主“修订图”追溯其余的历史。
当你完成后,git只需要将你创建的新提交(日期,消息,你的名字等)和你修改的文件的信息推回共享仓库。
我不想在这里列出你可能需要的所有命令--网上已经有数百个git教程比我更好地解释了它。

qcbq4gxm

qcbq4gxm2#

当然,您不应该为每个分支克隆存储库。
您可以使用git branch创建一个新的分支,然后使用git checkout,或者更简单,使用git checkout -b选项:

git checkout -b my_new_feature

# perform the changes needed for the feature

git add file_you_changed.txt other_file_you_added.txt # etc...

git commit -m 'Added a new feature' # or just git commit and use the editor for the commit msg

git push origin my_new_feature

相关问题