1

質問を具体的にするために、以下に私のシナリオをリストします。

  1. Windows マシンにローカルの git バージョンがインストールされています。ここで (開発者ブランチで) 開発を行います。

  2. 次に、テストのためにそれを開発者サブドメイン サーバーにアップロードします。テストが完了したら、ローカル git を bitbucket ベースのリモート リポジトリ (そこにある開発者ブランチ) にコミットします。

  3. 私のローカルとビットバケットの両方に、特定のポイントに到達したときにマージするマスターがあります。

これはすべてうまく機能しているように見えますが、変更したファイルをライブサーバー (実際のライブ Web サイト) に移動したいときに問題が発生します。これを行う最善の方法は何ですか? 変更されたファイルを1つずつチェックしてアップロードします...

ライブサーバーにもgitをインストールしていますが、知る必要があります。

  1. bitbucket からライブ git にプルするにはどうすればよいですか?
  2. プルを行うと、ユーザーがアップロードした画像などのユーザー ファイル/フォルダーが上書きされます (明らかに、git では追跡されません)。
  3. ファイルの追跡を解除したい場合は、ex user upload files/ i use rm -rf {filename} を使用しますが、この場合、OS からファイルを削除しました。削除せずに追跡を解除する方法はありますか。
  4. または、ユーザーファイルを含むすべてを git で追跡することをお勧めしますか?

私はgitに非常に慣れていないので、gitで適切な開発、ローカル、およびライブバージョンを行う方法についてアドバイスをください。

ありがとう

4

1 に答える 1

0
  1. プッシュできるベアレポをセットアップします。その後、post-receive フックを非ベア ライブ リポジトリに切り替えて、ベア リポジトリから git pull できます。
    すべての詳細は「リモート ベアの Git サブモジュール」にあります (「サブモジュール」の部分は無視してかまいません)。
  2. いいえ、追跡されていないファイルは上書きされません
  3. それらのファイルがそもそも追跡されていない場合は、何もする必要はありません。
    リポジトリに一時的に無視したいファイルが含まれている場合は、それらを無視できgit update-index --assume-unchangedます。
    最初のコミットで git commit config を実行したが、二度と実行しない?」を参照してください。
  4. いいえ、ファイルが環境に対して純粋にローカルである場合、それらを git リポジトリに含める必要はありません (これは多くのクローンが作成されます)。
于 2012-04-10T06:02:14.847 に答える