私は、すべての開発者が自分のマシン上でC:\project\.git\rr-cache
から共有フォルダ\\server\rr-cache
にシンボリックリンクを設定することを人々に勧めているのを見てきました。再キャッシュを共有する
しかし、可能であれば、それをgitリポジトリ自体に含めることでフォルダを共有する方が便利かもしれません。私は人々がこの解決策に言及しているのを見ましたが、実際にそれを行う方法ではありません。
アイデア?
私は、すべての開発者が自分のマシン上でC:\project\.git\rr-cache
から共有フォルダ\\server\rr-cache
にシンボリックリンクを設定することを人々に勧めているのを見てきました。再キャッシュを共有する
しかし、可能であれば、それをgitリポジトリ自体に含めることでフォルダを共有する方が便利かもしれません。私は人々がこの解決策に言及しているのを見ましたが、実際にそれを行う方法ではありません。
アイデア?
専用ブランチを介して共有することができます。そのブランチに矛盾があった場合には停止し、2つの異なる方法で同じ矛盾を解決しようと試みたことを意味するので、解決したいと考えています。言うまでもなく、それはルールの例外になります。
この質問の他の人には、Googleの「機能ごとの支店」を参照して、これが便利な場所を確認してください。
フックは、共通のrrキャッシュブランチの同期を自動化できます。
自動化する必要があります。 rereresharingは、マージするブランチの一例です。rr-cacheは、解像度を格納するブランチです。これらのすべての手順は問題なく動作しました:
git checkout --orphan rereresharing start-sprint-1
git --git-dir=.git --work-tree=.git/rr-cache checkout -b rr-cache
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "initial cache"
git clean -xdf
git checkout rereresharing
git merge --no-ff FTR-1
git merge --no-ff FTR-2
vim opinion.txt # resolve conflict
git add -A
git commit
git checkout rr-cache
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "resolution"
git remote add origin ../bpf-central
git push origin rereresharing rr-cache
cd - # assumes you were previously in the other local repo
git remote add origin ../bpf-central
git fetch
git branch rr-cache origin/rr-cache
ls .git/rr-cache
git --git-dir=.git --work-tree=.git/rr-cache checkout rr-cache -- .
ls .git/rr-cache
これで、同じマージを行う準備が整いました。競合が解決されます。
rr-cacheのために切断されたブランチ、つまり 'checkout --orphan rr-cache'を作成することができます。見栄えが良い – kan
恐ろしい!私は答えを更新します。 –
-bと--orphanはgitの最新バージョンでは互換性がありません。 –
共有する代わりにrr-cache
別のオプションは、rerere-train.shを使用して既存のGit履歴から競合の解決を知ることでしょう。
これはいつ実行されますか?マージ競合が発生するたびに? –
あなたが紛争を解決した他の誰かが、その解決をローカルで再利用できるようにするたびに、それを実行する必要があります。 – sschuberth
rerereキャッシュを相互に共有する必要がある場合、リベースされたブランチをあまりにも頻繁にプッシュすることがあります。私はこの問題の標準的な解決策は、キャッシュを共有するのではなく、見えるものを再構築することではないと思います。そうすれば、彼らはおそらく彼らが何をしているか知っているので、彼ら自身の私設支店から自分たちのリベース問題を解決することができます。 –
rr-cacheはリポジトリにすでに含まれているため、リポジトリに含めることはできません。あなたがそれを歴史の一部にすることができるかどうか尋ねた場合:はい、それは良いアイデアのようには見えません(変化する歴史のために変わります、コンテンツの変更、Gitの追跡、新しいリポジトリごとにトラッキングされたrr-cacheを設定する) – fork0
が本当ですが、スクリプトを使って設定した場合は、行こうと思っています。 –