Chciałbym dołączyć do mojego repozytorium plik źródłowy (dostarczony, gdy ktoś sklonuje repozytorium), ale domyślnie zmiany są ignorowane.git Uwzględnij plik, ale jego zmiany zostały usunięte.
git update-index --assume-unchanged ...
nie działa, ponieważ dotyczy tylko lokalnego indeksu. Chcę, aby wszyscy użytkownicy domyślnie ignorowali dany plik.
.gitignore
nie działa, ponieważ jeśli śledzę plik za pomocą git add -f ..
, to zmiany w nim są śledzone.
Próbuję osiągnąć to, co się stanie, jeśli svn add
ed pliku następnie svn:ignore
ed go.
EDIT:
Wygląda to po prostu nie jest możliwe w Git i zmieniłem organizację pliku źródłowego i budować, że oparła się na tym starym zachowania Subversion.
Przykłady:
$ git clone [email protected]:gsmith/sandbox.git
snip...
$ cd sandbox/
$ ls -a
. .. .git .gitignore gitignored tracked
$ cat .gitignore
gitignored
$ echo foo >> gitignored
$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: gitignored
#
no changes added to commit (use "git add" and/or "git commit -a")
chciałbym tego pliku będą ignorowane.
$ git reset --hard HEAD
HEAD is now at 34b1f3d initial setup
$ git rm gitignored
rm 'gitignored'
$ git commit -m "test"
[master cd8199d] test
1 files changed, 0 insertions(+), 1 deletions(-)
delete mode 100644 gitignored
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
$ ls -a
. .. .git .gitignore tracked
$ echo foo >> gitignored
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
Teraz jest zignorowany. Jednak osoba, która klonuje repozytorium, nie otrzyma zawartości gitignored
.
Nie ma właściwości ".svnignore", tylko svn: ignore – manojlds
@manojlds, dzięki, poprawiłem pytanie. –