git - 开始跟踪未跟踪的远程 files/directories
git - start tracking untracked remote files/directories
假设我这样做:
mkdir some_repo
cd some_repo
git init
git touch dummy.txt
git commit -m 'dummy commit'
git remote add -f some_other_remote_repo path/to/.git
git merge --no-ff --no-commit merge remotes/some_other_remote_repo/master
没有输入 git status
我看到类似的东西:
new: f1/some.txt
new: f1/some11.txt
new: f2/some2.txt
new: f3/some3.txt
所以现在我只想添加特定目录及其内容。我可以这样做:
git reset f2/
git reset f3/
现在运行宁git status
:
new: f1/some.txt
new: f1/some11.txt
untracked: f2/some2.txt
untracked: f3/some3.txt
所以它满足了我的需要,我可以提交和删除本地添加的 f2
和 f3
目录。但是,如果以后我决定现在要跟踪 f2
目录及其内容怎么办?
不,如果我再次 运行 git merge --no-ff --no-commit merge remotes/some_other_remote_repo/master
,它会说一切都是最新的。所以它现在忽略那些未跟踪的目录。他们是告诉 git 仅跟踪远程特定目录的方法吗?
解决方案
再次合并远程分支。这会(再次)拉入文件。
免责声明
我认为这是非常糟糕的做法。在您第一次与已删除的文件合并后,您的 git 历史记录中已成功合并 - 然而,情况显然并非如此。
推荐
相反,您应该在 remote/master
之上创建一个新分支 some_feature
,删除这些文件,然后合并 some_feature
。
如果您决定要所有文件,请完全合并 remote/master
.
如果文件 some.txt
、some1.txt
、... 都添加到不同的提交中,如果它们只有几个,您也可以选择这些提交。
假设我这样做:
mkdir some_repo
cd some_repo
git init
git touch dummy.txt
git commit -m 'dummy commit'
git remote add -f some_other_remote_repo path/to/.git
git merge --no-ff --no-commit merge remotes/some_other_remote_repo/master
没有输入 git status
我看到类似的东西:
new: f1/some.txt
new: f1/some11.txt
new: f2/some2.txt
new: f3/some3.txt
所以现在我只想添加特定目录及其内容。我可以这样做:
git reset f2/
git reset f3/
现在运行宁git status
:
new: f1/some.txt
new: f1/some11.txt
untracked: f2/some2.txt
untracked: f3/some3.txt
所以它满足了我的需要,我可以提交和删除本地添加的 f2
和 f3
目录。但是,如果以后我决定现在要跟踪 f2
目录及其内容怎么办?
不,如果我再次 运行 git merge --no-ff --no-commit merge remotes/some_other_remote_repo/master
,它会说一切都是最新的。所以它现在忽略那些未跟踪的目录。他们是告诉 git 仅跟踪远程特定目录的方法吗?
解决方案
再次合并远程分支。这会(再次)拉入文件。
免责声明
我认为这是非常糟糕的做法。在您第一次与已删除的文件合并后,您的 git 历史记录中已成功合并 - 然而,情况显然并非如此。
推荐
相反,您应该在 remote/master
之上创建一个新分支 some_feature
,删除这些文件,然后合并 some_feature
。
如果您决定要所有文件,请完全合并 remote/master
.
如果文件 some.txt
、some1.txt
、... 都添加到不同的提交中,如果它们只有几个,您也可以选择这些提交。