Git: リモートオリジンマスターから単一のファイルを更新/チェックアウトするにはどうすればいいですか? 質問する

Git: リモートオリジンマスターから単一のファイルを更新/チェックアウトするにはどうすればいいですか? 質問する

シナリオ:

  1. ローカルで1つのファイルにいくつかの変更を加えて実行するとgit addgit commitgit push
  2. ファイルはリモートオリジンマスターリポジトリにプッシュされます
  3. 私は、そのリモートリポジトリから「remote_cache」メソッドを使用してCapistrano経由でデプロイされた別のローカルリポジトリを持っています。
  4. ここで、アプリケーション全体をデプロイするのではなく、その単一のファイルを更新/チェックアウトするだけにします。

これは Git で何とかできるのでしょうか? うまく機能するものは何も見つからず、理解することもできませんでした。SVN でやってみたら、うまくsvn up fileいきました。

ベストアンサー1

(デプロイされたリポジトリ内で)実行可能です

git fetch
git checkout origin/master -- path/to/file

フェッチにより最近の変更がすべてダウンロードされますが、現在チェックアウトされているコード (作業領域) には保存されません。

チェックアウトにより、ダウンロードされた変更 ( ) からの特定のファイルで作業ツリーが更新されますorigin/master

少なくとも、ファイル内の単語を 1 つ変更するためだけにブランチなどを作成するのは奇妙に感じる、小さなタイプミスの修正にはこれが有効です。

おすすめ記事