8

私はついにGitのSVNを放棄し、それを愛することで大きな一歩を踏み出しました。それはどこかにあるに違いありませんが、私はこれを行う方法を本当に見つけることができません。

リポジトリの「サイト」をリモートマシンに保存しています。作業コピーをプッシュして、このデータを実稼働マシンにプルします。ただし、市長の違いの1つは、「1つの」ファイルであるdatabase.ymlです。これは、実稼働マシンでは変更されません。

データがリポジトリからプルされるときに、このファイルのみを「無視」することは可能ですか(もしそうなら、どのように)?私はこの時点でこれを手動で行っていますが、いくつかの優雅さが最もありがたいです。

ありがとう。

4

5 に答える 5

8

はい、可能です。

git update-index --skip-worktree FILENAME

また

git update-index --assume-unchanged FILENAME

FILENAMEはconfig/database.ymlあなたの場合になります。

2番目のコマンド(変更なし)を使用すると、git resetコマンド後にファイルが元に戻ります。

于 2012-02-01T07:45:31.407 に答える
6

無視ファイルで指定する前に「database.yml」がgitリポジトリに追加された場合は、削除する必要があると思います。

git rm config/database.yml
git commit -a -m "Removed database.yml"

次に、プロジェクトにdatabase.ymlファイルを追加すると、正常に機能します。

于 2014-02-24T07:25:41.837 に答える
5

私のアドバイス:それをgitに入れないでください。database.yml.skelそれをサンプルとして、ユーザーが自分でモデル化できるように、またはそのようなものを作成database.ymlします。しかし、私の意見では、confファイルはバージョン管理に属していません-まさにあなたが言及した理由のためです。

無視するのは非常に簡単です。実際、それを行うにはいくつかの方法があります。これの正しいものは.gitignoreファイルです。もう1つは.git/info/excludesです。詳細については、この回答を参照してください。

だから、私の頭の上から:

echo database.yml >> config/.gitignore
git add config/.gitignore
git commit
于 2010-05-18T12:40:34.353 に答える
0

アプリケーションが他のユーザーによってダウンロードおよびインストールされるように設計されている場合、database.ymlを削除することはお勧めできません。洗練されていないユーザーがアプリケーションをインストールしている場合、ファイルの削除はちょっとした動きです。この場合、デフォルト値でファイルを追加した後にファイルを無視するようにgitに指示するのが正しい方法です。

于 2016-05-05T01:47:26.273 に答える
0

システムキャッシュまたはローカルマシンを削除する場合は、次のコマンドを実行するだけです。

git rm --cached config/database.yml 

gitから削除する場合は、次のコマンドを実行します

git rm config/database.yml
git commit -a -m "Removed database.yml"
git push branch_name
于 2018-08-13T12:11:08.647 に答える