Tôi muốn bao gồm tệp nguồn (có tệp được phân phối khi ai đó nhân bản một kho lưu trữ) trong kho lưu trữ của tôi nhưng có thay đổi đối với nó bị bỏ qua theo mặc định.git Bao gồm một tệp nhưng có những thay đổi của nó không bị lược bớt
git update-index --assume-unchanged ...
không hoạt động vì chỉ áp dụng cho chỉ mục cục bộ. Tôi muốn tất cả người dùng có tệp được đề cập bị bỏ qua theo mặc định.
.gitignore
không hoạt động vì nếu tôi theo dõi tệp qua git add -f ..
thì thay đổi sẽ được theo dõi.
Tôi đang cố gắng đạt được điều sẽ xảy ra nếu tôi svn add
chỉnh sửa tệp sau đó svn:ignore
chỉnh sửa.
EDIT:
Nó trông như thế này chỉ là không thể trong Git và tôi đã thay đổi tổ chức tập tin nguồn và xây dựng mà dựa vào hành vi Subversion cũ này.
Ví dụ:
$ 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")
Tôi muốn tập tin này để được bỏ qua.
$ 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)
Bây giờ nó bị bỏ qua. Tuy nhiên, ai đó nhân bản kho lưu trữ sẽ không nhận được nội dung của gitignored
.
Không có '.svnignore', chỉ thuộc tính svn: ignore – manojlds
@manojlds, cảm ơn, tôi đã sửa câu hỏi. –