9

ローカルで操作したいPHP構成ファイルがありますがgit commits、マスターリポジトリへの変更中はそれらの変更を無視します。.gitignore以前はこの PHP ファイルを無視していたファイルがありましたが、問題が発生し、config.phpファイルが無視されなくなり、再度無視する方法が思い出せません。

SOの人々が使用するように言っていることは知っていますが、config.phpファイルを削除し続けgit rm --cached <filename>ないようにする方法を一生理解できません。git rm...

config.php をローカルで編集し続けることができるように無視する方法を誰かがリストできるかどうか疑問に思っていますが、これらの変更はレポに追加されません。

my の全内容は次の.gitignoreとおりです。

application/config.php

これが私のマスターレポには入れconfig.phpずにローカルに保持したい私のPHPコードです:

$config['base_url'] = "http://localhost/";
//$config['base_url'] = "http://mysite.com/"; // this is the code and NOT
// "http://localhost" that i'd like to keep in my repo

これが私のファイルを削除するものです:

  1. git rm --cached application/config.php
  2. application/config.phpファイルと別のファイルに変更を加える(コントロールとして)
  3. git commit -m 'config.php shouldn't be changed'

    結果: 2 files changed, 1 insertions(+), 370 deletions(-)(config.phpは 370 行の長さです)

4

2 に答える 2

14

私は自分の問題を解決しました。私は実際にこれが必要です:

git update-index --assume-unchanged <filename>

私の質問で上記のように .gitignore および config.php ファイルが指定されていると仮定すると、完全なワークフローは次のとおりです。

  1. git update-index --assume-unchanged application/config.php
  2. git add -A
  3. git commit -m 'now config.php will be ignored'
  4. git push origin master

これhttp://localhostで、リポジトリのローカル コピーの config.php に残りhttp://my-site.com、マスター リポジトリの config.php に保持されます。

于 2012-09-05T03:19:13.950 に答える
0

config.php.gitignore ファイルに含める必要があります。

ただし、実際に config.php をリポジトリに追加した場合はgit rm、それをコミットしてから再作成する必要があります (または、コピーを作成してからコピーして戻すこともできます)。

于 2012-09-05T03:05:20.330 に答える