シナリオ:
- ローカルで1つのファイルにいくつかの変更を加えて実行すると
git add
、git commit
git push
- ファイルはリモートオリジンマスターリポジトリにプッシュされます
- 私は、そのリモートリポジトリから「remote_cache」メソッドを使用してCapistrano経由でデプロイされた別のローカルリポジトリを持っています。
- ここで、アプリケーション全体をデプロイするのではなく、その単一のファイルを更新/チェックアウトするだけにします。
これは Git で何とかできるのでしょうか? うまく機能するものは何も見つからず、理解することもできませんでした。SVN でやってみたら、うまくsvn up file
いきました。
ベストアンサー1
(デプロイされたリポジトリ内で)実行可能です
git fetch
git checkout origin/master -- path/to/file
フェッチにより最近の変更がすべてダウンロードされますが、現在チェックアウトされているコード (作業領域) には保存されません。
チェックアウトにより、ダウンロードされた変更 ( ) からの特定のファイルで作業ツリーが更新されますorigin/master
。
少なくとも、ファイル内の単語を 1 つ変更するためだけにブランチなどを作成するのは奇妙に感じる、小さなタイプミスの修正にはこれが有効です。