2012-12-09 22 views
2

我有一個具有特定設置的.htaccess文件,它只適用於我的機器。Git如何跟蹤您的回購中的文件,但不會覆蓋別人的分支?

當我從其他人的分支引入更改時,我總是必須撤消所做的更改。

我想我可以做git checkout file hash以獲得原始文件(是否正確?如果不是,有人可以告訴我正確的命令),但是沒有辦法告訴Git跟蹤我的分支上的文件,但是永遠不要從另一個遠程分支下拉文件?

在類似的說明:你怎麼能讓git跟蹤一個特定的文件,但從來沒有把它推送到遠程分支。例如,我有一個包含密碼詳細信息的文件,但如果我在GitHub上公開存儲我的文件,那麼我不希望該文件被推上。

感謝

+0

也許在'.gitignore'中加入'.htaccess'? –

+0

有沒有辦法跟蹤,但不推動。什麼git跟蹤什麼git推。無論如何,你不應該追蹤你是否推動它。只需將它添加到'.gitinore'。 – Learath2

+0

將文件添加到gitignore意味着它沒有被跟蹤,但我希望跟蹤該文件及其更改 – Integralist

回答

1

的命令來恢復文件,它已經在以前的版本實際上

git checkout commit file 

是隨着什麼是問題的順序相反的論點。提交可以是散列或任何其他引用提交的方式,如分支或標記名稱。

您可以通過指定自定義合併驅動程序來設置git自動保留您的.htaccess文件版本。

爲此,首先您需要在git config中定義合併驅動程序,然後指定合併文件應該用於.htaccess文件。

git config merge.mine.driver 'touch %A' 
echo .htaccess merge=mine >> .gitattributes 

但是,如果您的本地分支將永遠合併到您要從中進行更改的分支中,這不是一個好主意。這將記錄對該文件的更改已被合併,即使它們實際上被完全忽略。因此,如果您的分支合併回另一個分支,則該文件的所有更改都可能會被還原。

1

你可以保持它在本地branch,當你拉的變化與master合併。

相關問題