2016-08-16 114 views
0

本地和遠程刪除文件期間,我一直在使用GIT了一段時間,而且我不明白本地和遠程之間的一個核心概念很明顯。Git的工作流程,從高速緩存上推刪除遠程

我有點存儲區回購。

這是一箇舊的遺留應用程序,需要對配置文件陽明海運(Symfony的1.4.20)

我有一個本地版本,有需要可以在本地和遠程有點不同的兩個文件。

我做混帳克隆並獲得我需要的信息。

我更改了apps/frontend/config/factories.yml和config/databases.yml ,並讓我的本地系統上的所有功能都能正常工作。

我然後把這兩個文件在我的混帳忽略文件,並從緩存中刪除它們。

當我從緩存中刪除,並做它說這兩個文件被標記爲刪除的git的狀態。

如果我承諾他們,然後做一個混帳推到服務器時,它是不斷刪除這兩個文件,所以當新的服務器創建它不具有兩個重要的配置文件。

我明顯錯過了一件非常簡單的事情。

如何更改文件。 保留本地更改的副本 刪除它們,以便GIT停止跟蹤它們,但在執行git push時不會刪除它們?

快樂閱讀其他的答案,因爲我得到這個可能已經提問和回答,但我還沒有找到一個對我來說很有意義的感覺。

謝謝。

回答

1

不幸的是,你有一種錯過了git和VCS的點。在大多數VCS模型中,git-like和其他方式,更新操作的一般概念是兩組文件(本地和遠程)應該處於相同狀態。

當你從你的遙控器上拖動文件,然後將它們添加到你的.gitignore,你告訴git,基本上是「我不再有興趣跟蹤這些文件出於某種原因,所以繼續前進,不要從現在開始,他們不會把它們包含在回購中「。

如果有不同的服務器需要這些文件的不同版本的情況,這意味着它們是自動生成的好候選者。在您的倉庫中包含一個生成這些文件的腳本,然後將這些文件自己添加到您的.gitignore。這樣,你在做什麼git打算要做 - 跟蹤每個環境相同的源文件。任何分條的VCS都不是爲了跟蹤跨環境應該不同的文件,也不應該被迫服務於嘗試這樣做。

+0

我可以添加一個autogenerate到我的aws腳本,它已經在製作nginx文件。 – smugford

+0

你去了。只需將'.yml'文件永久添加到'.gitignore',然後在一天內打電話,然後前往酒吧。 –