Scenario:
Bitbucket:
file1
file2
file3
Local:
file1 - person1 is working on it
file2 - person2 is working on it
file3 - common with personal hardcoded configuration
untracked files
person1 commits and pushes his changes on file1. How person2 can update file1 in his local without resetting file2, file3 and untracked files? It's a while that I'm trying to do it but I still don't find an easy way! Thanks.
Untracked files won't be updated when you fetch new commits from the remote repository. As for file2
and file3
(which I'm assuming are tracked), you'll want to set the skip-worktree
flag on those. That way Git won't update them in your working directory.
From the documentation:
--[no-]skip-worktree
When one of these flags is specified, the object name recorded for the paths are not updated.
More specifically:
When reading an entry, if it is marked as skip-worktree, then Git pretends its working directory version is up to date and read the index version instead.
You can set the skip-worktree
flag on a specific file with the git-update-index
command:
git update-index --skip-worktree path/to/file2
If you later want to unset the flag, use the --no-skip-worktree
option instead:
git update-index --no-skip-worktree path/to/file2