0

バックグラウンド

単一のコードベースで Subversion と git の両方を実行しています。これはうまく機能します。既存のリモート Subversion リポジトリにコミットし、一時的なコミットを保存するためのローカル バックアップとして git を使用できます。そのため、何かが機能し始めたらすぐに git にコミットできますが、他のユーザーと共有するために Subversion にコミットする前に、整理を続けます。

これに git-svn を使用できることはわかっていますが、私が持っているソリューションには満足しています。何か問題が発生してバックトラックする必要がない限り、git は実質的に書き込み専用です。

私がやろうとしていること

Subversion でブランチを切り替えると、すべてを git のmasterブランチにコミットして、そこから追跡を再開できます。しかし、毎回 git でステージングするファイルが少なくなるように、Subversion のブランチを反映するブランチを git に作成したほうがよいと思います。

ブランチからチェックアウトせずにgitでブランチを切り替えるにはどうすればよいですか? svn スイッチに基づいてファイルを変更したいが、git から上書きされないようにしたい。変更を手動で行ったかのように git でステージングできるようにし、ブランチを切り替えるたびにこれを機能させたいだけです。

4

1 に答える 1

3

git symbolic-refこの目的で使用できます。$BRANCH切り替えようとしているローカル Git ブランチはどこにありますか。

git symbolic-ref HEAD refs/heads/$BRANCH

このコマンドを使用して、現在対象となっgit resetているブランチの状態に一致するようにインデックスを更新することができます。HEAD(もちろん、これにより、行ったインデックス操作はすべて破棄されますが、作業コピー内のファイルには影響しません。)

于 2013-08-12T20:49:16.290 に答える