あなたが歴史について気にしないならば、あなたはそれがPROJ1にコミット先端のように見えるような別は正確にファイルを含むブランチ2にコミットすることができます。これは、することを意味し、基本的に
git checkout Proj2
git checkout Proj1 -- index.html
git commit -am "Modify Index.html"
は、 Proj1ブランチのようにファイルを正確に取得してください。
git checkout --
は、ダッシュの後にファイル名(またはパス)を指定することを意味します。これはリポジトリ内のいくつかのファイルを変更して他のファイルを保存したい場合にも便利です。
次に、あなたがしたい場合、あなたはまた、あなたがこのようPROJ1で行われたコミットからコミットメッセージに再利用することができます
git checkout Proj2
git checkout Proj1 -- index.html
git commit -a -C Proj1
Gitのcommit -C
をすでに持っていたコメントコミット再利用することを意味します。 git documentation "git checkout"から
:
Gitチェックアウト[-p|--patch] [<tree-ish>] [--] <pathspec>
または--patch
が与えられている
、Gitチェックアウトは、枝を切り替えていません。 は、作業ツリーの名前付きパスをインデックスファイルまたは から名前付き(たいていはコミット)から更新します。
[...]
のgitとチェックアウトまたは--patch
は、インデックスから自分の元の内容を変更または 削除されたパスを復元するか、名前の(最も頻繁に がコミットから内容の パスを置き換えるために使用されます-Hは)。
そしてgit documentation "git commit"
git commit -C <commit>
--reuse-message=<commit>
から既存のオブジェクトをコミットを取り、作成時にログメッセージと(タイムスタンプを含む) 著者情報を再利用 をコミットします。
私はまだProj1で作業したいと思います。 – machmet
同期。 GITのブランチ間はgit mergeです。他の方法はgit方法ではありません。 – yorammi
私は@yorammiに同意しますが、[git worktrees](https://git-scm.com/docs/git-worktree)とシンボリック/ハードリンクを調べることができます。あなたは混乱で終わることができますが。私は併合のために行って以来あなたをさらに助けることはできませんし、私はまだそれほど多くの仕事を調査していませんでした – ThanksForAllTheFish