[英].gitignore put in /home does not ignore files in /home/username
我知道這是一個不好的做法,但我更改了/home
的權限並在那里放了一個.gitignore
(我有一個奇怪的用例,讓我們暫時保留它,將在PS中討論更多相關信息)。
我的.gitignore
看起來像:
/*
!/.gitignore
!/ismail/
/ismail/*
!/ismail/.zshrc
!/ismail/.searchmonkey/
/ismail/.searchmonkey/*
!/ismail/.searchmonkey/*
!/ismail/.config/
/ismail/.config/*
!/ismail/.config/user-dirs.dirs
!/ismail/.config/alacritty/
/ismail/.config/alacritty/*
!/ismail/.config/alacritty/alacritty.yml
問題是這個.gitignore
在/home
中不起作用,但是當我將它放入/home/ismail/Desktop/test-git
時起作用。
兩個目錄的權限:
/home/ismail/Desktop/test-git:master+%
total 20
drwxrwxr-x 4 ismail ismail 4096 Jun 6 12:26 .
drwxr-xr-x 3 ismail ismail 4096 Jun 6 12:24 ..
-rw-rw-r-- 1 ismail ismail 296 Jun 6 12:39 .gitignore
drwxrwxr-x 4 ismail ismail 4096 Jun 6 12:25 ismail
/home:master*+% ls -la
total 20
drwxrwxr-x 4 ismail ismail 4096 Jun 6 12:40 .
drwxr-xr-x 20 root root 4096 May 31 22:50 ..
-rw-rw-r-- 1 ismail ismail 2284 Jun 6 12:40 .gitignore
drwxrwxr-x 23 ismail ismail 4096 Jun 6 12:57 ismail
PS請隨時提出任何符合我用例的建議。 我的用例是,我跟蹤兩個 linux 發行版的點文件。 有一些通用文件和一些發行版特定文件。 所以,我的裸倉庫看起來像dotfiles_bare_repo_common
、 dotfiles_bare_repo_mint
、 dotfiles_bare_repo_zorin
。 因此,在給定的時間內,我需要在/home/ismail
中放置兩個.gitignore
( dotfiles_bare_repo_common
和dotfiles_bare_repo_mint
或dotfiles_bare_repo_common
、 dotfiles_bare_repo_zorin
),這不是一個選項。 因此,我決定向前邁出一步,將常見的.gitignore
放在/home
中,將發行版特定的.gitignore
放在/home/ismail
中,以便為同一目錄維護兩個.gitignore
( .git/info/exclude
對我不起作用,因為我需要推送或克隆存儲庫)。 我還檢查了您可以在同一目錄中設置多個 gitignore 文件嗎? 多個.gitignore
是否不受歡迎? . 這些也不符合要求。
問題是這個 .gitignore 在 /home 中不起作用,但是當我將它放入
/home/ismail/Desktop/test-git
時起作用。
那是因為您使用的是“錨定”規則(我的術語“以/
”開頭的規則):錨點“ /
”表示模式相對於特定.gitignore
文件本身的目錄級別......在 Git 存儲庫中.
並且/home
不是 Git 存儲庫的內部。
沒有本機解決方案,但可能的解決方法是:
.gitignore
的符號鏈接。.gitignore
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.