Andrius Andrius - 4 months ago 11
Git Question

git - start tracking untracked remote files/directories

Let say I do this:

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

No entering
git status
I see something like:

new: f1/some.txt
new: f1/some11.txt
new: f2/some2.txt
new: f3/some3.txt

So now I only want to add specific directories and their contents. I can do this:

git reset f2/
git reset f3/

now running
git status

new: f1/some.txt
new: f1/some11.txt

untracked: f2/some2.txt
untracked: f3/some3.txt

So it does what I need and I can commit and remove locally added
directories. But what to do if later I decide I now want to track for example
directory and its contents?

No if I run
git merge --no-ff --no-commit merge remotes/some_other_remote_repo/master
again, it will say everything is up to date. So it now ignores those untracked directories. Is their a way to tell git to track specific directories that are in remote only?



Merge the remote branch again. This pulls in the files (again).


I consider this very bad practice. After your first merge with deleted files, you have a successful merge in your git history - however, this is clearly not the case.


Instead, you should create a new branch some_feature on top of remote/master, delete those files, and then merge some_feature. If you decide you want all files, fully merge remote/master.

If the files some.txt, some1.txt, … are all added in different commits, you may also cherry-pick those commits if they are only a few.