【问题标题】:How to add a directory to a certain branch (not master branch) via git如何通过 git 将目录添加到某个分支(不是 master 分支)
【发布时间】:2021-01-06 22:38:11
【问题描述】:

我对使用 git 工具还很陌生。所以,我想在我的 github 存储库中添加一个目录。但是有很多文件,所以我意识到我必须使用 git 将我的目录添加到 repo。 但问题是我的目录转到了主分支。我必须调整它以转到 主分支。在将目录添加到 github 存储库时如何选择特定分支?我查看了许多类似的主题并尝试了一些代码,但它并没有解决我的问题。

顺便说一句,我在输入 git 以将我的文件添加到 github repo 时遇到了 (master) 字。

【问题讨论】:

    标签: git directory branch add main


    【解决方案1】:

    要提交到特定分支,您必须首先签出该分支。 git checkout branchname 在命令行中完成了这里的技巧。然后您在代码或文件系统上进行更改,执行git add . 暂存所有更改,git commit -m "commit message",然后您可以git push 到您之前签出的分支。

    如果您对在 master 上的更改感到满意,您可以只需 git checkout main 切换到要更正的分支,并 git merge master 将对 master 所做的更改应用到 main 上。注意:这将应用所有更改,即使是在您创建该目录之后所做的更改,也适用于 main。如果这对您来说没问题或没有更多更改,请继续。

    如果您需要撤消 master 上的更改,则需要更深入地挖掘:git checkout master 首先位于正确的分支上。执行git log,然后找出添加该文件夹的主之前上提交的哈希值。 git reset --hard hashOfThatCommit,然后 git push origin master --force 使更改可用于您的服务器。注意:这只是一个选项,如果您可以在添加该文件夹之前丢失自提交以来对 master 所做的 所有 更改。在那之后git checkout main,在那里进行更改并按照我的答案的开头将它们提交到历史记录。

    您可能会认真考虑阅读官方文档here 中的 git 并可能获得 Gitkraken 或 fork 之类的 git gui 工具。尽管在困难的情况下使用它们会引起争议,但如果您不习惯的话,它们可以直观地提供您的 repo 信息和历史记录,以便比命令行更容易概览。

    【讨论】:

    • 感谢您的详细解答。我试过 'git checkout branchname' ,在 git bash 屏幕上看到了不同的东西。所以我卡在了这个地方。在此之前,我输入了一些 git 代码,就像你说的(git add,git commit),我得到了一些结果。但这并没有解决我的问题。作为一个新手,我在使用 git 时遇到了非常奇怪的问题。所以,我只是应用了一种不同的方法来解决(不是超级解决方案,使用 github 和基本命令)。我意识到我应该需要学习 git 的基础。所以我转向这种方式来提高我的技能。再次感谢您。
    猜你喜欢
    • 2016-04-30
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2014-09-17
    • 2016-09-20
    • 2016-11-06
    • 2011-02-15
    相关资源
    最近更新 更多