Reputation: 2439
If I add file that is already tracked by Git to my .gitignore
, I can simply run
git rm --cached <path>
to apply the new rules. I push that to the server, and the server will no longer receive my changes. Will I have to tell everyone on my dev team that they need to run the git rm
command to make sure nobody ever pushes changes to the new file?
Upvotes: 4
Views: 1805
Reputation: 66344
Will I have to tell everyone on my dev team that they need to run the
git rm
command to make sure nobody ever pushes changes to the new file?
No. All you have to do is commit and push to remote.
If you want to start ignoring a file that is already being tracked by Git, you indeed need to
.gitignore
, andgit rm --cached <path>
in order to stop tracking the file (Git cannot ignore files that are currently being tracked).Now, if you commit and push to remote, the file in question will no longer be tracked in the remote repo. Therefore, after your collaborators incorporate the latest changes from the remote into their own local repos (e.g. by pulling), the file in question will also no longer be tracked in their own repos. Therefore, they will not need to run
git rm --cached <path>
Moreover, because your .gitignore
is part of the repository (i.e. it is being tracked by Git), your collaborators won't even need to add an entry for the file in question; the entry will already be there in the .gitignore
, as part of your changes that they've incorporated into their own local repos.
Of course, that's under the assumption that nobody does a force push (which has the potential to obliterate your changes) after you've pushed...
Upvotes: 4