【问题标题】:How to put folders to different branches?如何将文件夹放到不同的分支?
【发布时间】:2019-02-07 05:02:09
【问题描述】:

我已经有 2 年没有使用 git 了,现在当我回顾过去的工作时,这让我很难过。 :(

基本上,我有一个文件夹(主文件夹),我想将其推送到名为 source 的分支,并且在主文件夹内有一个名为 _deploy 的文件夹,我想将其推送到相同的回购。当我执行以下操作时!

$ git checkout -b source (on main folder) $ git push -u origin source $ cd _deploy $ git checkout -b master $ git push -u origin master

我得到了一些奇怪的东西。在我的 github 存储库中,我在两个分支中看到相同的文件夹和黑色的 _deploy,这意味着我无法看到 _deploy 的内部。但是,只有当我查看分支 source 而不是 master 时才会发生这种情况。 master 分支应该向我显示 _deploy 中的内容。

背景: 这是一个 jekyll 博客。 我已经在主文件夹中完成了git init,并且还在主文件夹中添加了远程源。如果我做错了什么,请帮助我理解和解决。

【问题讨论】:

  • cd _deploy 命令的目的是什么?

标签: git github jekyll


【解决方案1】:

我刚刚检查了您的 Github 页面,发现您的 _deploy 文件夹现在可以从两个分支访问。看来您现在想清理分支?我有一个假设发生了什么,请让我知道它是否正确。

您已经使用git init 初始化了您的存储库,然后继续将您的文件和文件夹添加到 Git。可能通过运行git add . 后跟git commit -m "Init Message"。这会将您的所有文件(.gitignore 中提到的文件除外)置于版本控制之下。

然后你使用了git checkout -b source 它从你的最后一次提交中分支出来,其中包括所有文件。这就是为什么您在 master 和 source 中获得相同文件的原因。

要仅从版本控制中删除文件夹,而不是在您的磁盘上,您可以运行以下命令。

git rm --cached ./_deploy
git commit -m "Remove deploy"

附注:更改终端中的目录 (cd _deploy) 将不会影响您的 git 分支/git 状态。

【讨论】:

  • 嗨!是的,现在从两个分支都可以看到它。但是,我只想在我的主分支中查看_deploy 中的内容。就像我在这里做的一样 github.com/talkstwor/talkstwor.github.io 。您可以检查我以前使用的 build.sh 以在更改后提交。但是,最初如何设置它我不知道,所以我的主文件夹只推送到 source 分支和 _deploy 推送到 master 分支。
  • 在您的 shell 脚本中,您输入文件夹 cd _deploy 并运行 git add . 假设它只会在此文件夹中添加文件。不是这种情况。 git add . 添加主文件夹中的所有文件。你想做什么git add ./_deploy
猜你喜欢
  • 2023-01-20
  • 2016-04-07
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 2016-07-02
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多