gpt4 book ai didi

GIT - 稀疏 checkout 未按预期工作

转载 作者:行者123 更新时间:2023-12-03 09:17:53 28 4
gpt4 key购买 nike

我在服务器上 checkout 了一个 git 存储库。该存储库过去在根目录下包含所有相关文件,但我必须进行一些更改,现在我有两个文件夹,srcdist,我想跟踪这两个文件夹.

我遇到的问题是,在我的服务器上,如果我 pull ,我现在必须在 dist 文件夹内导航才能看到某些内容。

我尝试搜索了一下,我认为我想做的就是稀疏 checkout 。

我遵循了本教程:http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/ ,特别是谈论现有项目的部分,我做了上面提到的事情:

  1. 通过 ssh 连接到我的服务器
  2. cd 进入项目文件夹
  3. git config core.sparsecheckout true
  4. echo dist/>> .git/info/sparse-checkout
  5. git read-tree -mu HEAD

但是什么也没发生。我的意思是,我仍然需要导航到 myproject/dist 才能看到某些内容。

我还尝试cat稀疏 checkout 文件并且存在dist/。我也尝试过 git pull origin master ,但没有成功。

我在这里遗漏了什么吗?

最佳答案

你已经做了所有应该做的事情。


稀疏 checkout

通过稀疏 checkout ,您基本上可以告诉 Git 从工作树中排除一组特定的文件。这些文件仍然是存储库的一部分,但它们不会显示在您的工作目录中。

在内部,稀疏 checkout 使用 skip-worktree 标志将所有排除的文件标记为始终更新。

# enable sparse checkout in an existing repository:
git config core.sparseCheckout true

# Create a .git/info/sparse-checkout file containing the
# paths to include/exclude from your working directory.

# Update your working directory with
git read-tree -mu HEAD

enter image description here


另一个可能也适合您的解决方案:

将子文件夹拆分到新的分支/存储库

# use filter-branch to extract only the desired folder into a new branch
# once you done with your work you can always merge it back again.

git filter-branch --prune-empty --subdirectory-filter YOUR_FOLDER_NAME <branch>
# Filter the master branch to your directory and remove empty commits

关于GIT - 稀疏 checkout 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35806042/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com