2012-04-11 4 views
3

GitHubに問題があります。個別のgitクローンインストールでgithubへのプルリクエストを含むファイルとフォルダを無視するにはどうすればよいですか?

私はGitHubのリモートリポジトリを使ってサーバにコピーをダウンロードしてソフトウェアをインストールしますが、/www/inc/config.inc.phpというファイルにはそれぞれwww/images/という名前のファイルを変更する必要があります。ファイルwww/inc/config.inc.phpが、それはオリジナルのもの、またはGitHubの上に配置されたものと内容だ変わるので、新しい変更やバージョンを入手するためにGitHubのと別のサーバーのインストールを同期させるために、私は、コマンドを呼び出すときに問題が来る

git pull」 。
私はファイルと/www/imagesというフォルダを元々はコマンドを実行したサーバごとに同期させないようにGitHubを使って新しいインストールを行いたいと言っています。

答えて

2

私が最初に問題を再確認して、正しく理解していることを確認します。

サーバーには、インストールが実行されている必要があります(存在する場合)。 githubにインストールファイルがあります。

新しいインストールでは、githubからクローンを作成し、/www/inc/config.inc.phpファイルと/ www/imagesフォルダを変更します。

更新を実行すると、それらの更新をgithubにプッシュし、それらの更新をgithubからさまざまなサーバーにプルしますが、ローカルの変更をマージまたは上書きしないようにします。

シナリオが正しくない場合は、ご意見ください。上記を想定し

は、ここでは、正しいこれを達成するためのアプローチである:あなたが最初にローカルサーバーへのレポのクローンを作成する場合

は、ローカルの変更を行う前にブランチを作成します。作成したブランチには常にローカルリポジトリを保持します。

#clone the repo 
git clone git://github.com/you/yourproject.git 

#create and checkout a local working branch 
git checkout -b workingBranch 

#make your changes to configs and other directories freely 
... 
#when you're done, add and commit those changes 
git add . 
git commit 

あなたはこれが一時的にmasterブランチからの最新のコミットを取得し、あなたのブランチで行った変更をロールバックします

#checkout the master branch 
git checkout master 

#pull to get the latest code 
git pull origin master 

#checkout the workingBranch again 
git checkout workingBranch 

#rebase to get the new changes on that branch 
git rebase master 

にローカルマシンに引っ張っする更新プログラムを持っています、新しい変更の上にコミットを "再生"します。

0

ライブサーバーツリー(/www)で直接変更を行い、それらをコミットして戻す場合を除き、/wwwから直接プルする必要はありません。
つまり、Gitリポジトリには/wwwは必要ありません。

サーバー上のそのレポのクローンを取得し、ライブ環境で必要なものをrsync(サーバー上に残っている)することができます。
つまり、gitリポジトリとライブツリーを厳密に区別します。
このようにして、を正確にに更新する必要があります。

関連する問題