【问题标题】:How to add one folder on different branch如何在不同的分支上添加一个文件夹
【发布时间】:2016-07-02 00:59:01
【问题描述】:

我正在尝试在不同的分支中添加一个文件夹。在我的主分支中,我拥有所有文件夹。我使用以下方法创建了新分支:

git branch practice
git checkout practice

然后我添加我要使用的文件夹:

git add FolderName

然后我用

git commit -m 'adding new folder'

我收到此消息后:

On branch practice
nothing to commit, working directory clean

所以我输入命令:

git push origin practice 

master 分支中的所有内容都将复制到新分支中。因此,如果我想创建新分支并仅添加一个文件夹而不是所有内容,请提出任何建议。

【问题讨论】:

  • 如果文件夹为空,git 不会将其识别为存储库中的更改。
  • 没有文件夹有一些java类,它已经被推送到主分支
  • 但我想单独推送到不同的分支上
  • 例如,在我的主分支中,master 我有 folderone、foldertwo、folderthree。我想创建新分支并仅在其上添加文件夹二
  • 请更新您的问题。不要将重要的说明隐藏在 cmets 中。

标签: git github version-control gitlab


【解决方案1】:

从你写的情况来看,有两种情况:

FolderName 要么是空的:在这种情况下,git 没有找到新文件,因此说“没有什么要提交”。

或者FolderName 已经存在于您的主分支中。在这种情况下,您尝试添加 git 已经知道的文件。 - 没有更改 -> 没有提交。

您的评论听起来您实际上想要删除 文件夹:您已经拥有 folderone、foldertwo 和 folderthree,并且想要删除 folderone 和 folderthree,最终只剩下 foldertwo。 - 但是,这与您的问题的意图不符。

最有可能的答案是:您不必添加文件夹。它已经存在于分支中,就像主分支的任何其他文件一样。

您也可以使用git ls-files 列出 git 知道的所有文件。

【讨论】:

  • 不,我确实有两个分支,主分支和另一个分支。在主人我确实有所有的文件夹。我想将这些文件夹中的一个复制到另一个分支中,所以我想最终得到两个分支,一个包含所有文件夹,另一个只有一个文件夹,该文件夹非空且已存在于主分支中
  • 它背后的想法是我希望主分支作为备份,而不稳定的代码或未完成的代码我想将它放在不同的分支中。但正如我之前提到的,每次我将一个文件夹推送到新分支时,我最终都会在另一个分支中拥有我的主分支中的所有文件夹
  • 只是说我不想删除任何东西
  • 如果你输入git branch practice git 将创建一个新的分支,其中已经包含了主分支的所有文件。 - 如果你想要的更少,你需要删除所有你不想要的东西。
【解决方案2】:

例如,您在分支 master 中有文件夹 A,您想将文件夹 A 添加到分支实践中。

git结账实践

git checkout master -- A/*

git 添加一个

git commit -m "添加文件夹A"

如果你在分支master中添加A文件夹的commit sha1代码是123456,那就更容易了。

git结账实践

git 樱桃挑选 123456

【讨论】:

  • 不错的答案,认为这是我最后一次需要检查 howToCreateANewBranch
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-13
  • 1970-01-01
  • 2011-06-24
  • 2018-07-09
  • 2019-02-07
  • 2018-10-21
相关资源
最近更新 更多