19

ペアプログラミングに git を使って生徒に教えようと思っています。学生の作業は秘密にしなければならないため、公開レポは問題外です。代わりに、各学生は自分で管理するプライベート リポジトリを持ち、git-format-patch を使用してパッチを交換する必要があります。man ページを読みましたが、どのパッチが送信されるのか少しわかりません。学生にとって明白なことは、最後の送信以降のすべてのパッチを送信するか、(git が同じパッチを重複して受信することを気にしない場合)夜明け以降のすべてのパッチを送信することです。(これらは学生のプロジェクトであり、数週間続き、小規模であり、パフォーマンスは基準ではないことを忘れないでください。) 私たちの親友は単純さです。私たちはブルートフォースも好きです。

それぞれプライベート git リポジトリを持ち、git-format-patch と git-am を使用してパッチを交換している 2 人の人物を示す短い一連の例を誰か教えてもらえますか? あるいは、既存の git ドキュメントやチュートリアルを教えてください。

4

2 に答える 2

21

お互いの git リポジトリを確認できる場合に最適です。git 自体はこの方法で管理されています (人々が参照できるパブリック リポジトリがあり、そこからフォーマット パッチを適用します)。人々がお互いのレポを見ることがない場合、事態は少し難しくなります...

彼らができることの 1 つは、最後にフォーマット パッチを行ったときの参照を維持することです。ツリー全体 (.git を含む) を送信することから始めたとします。

tar cvf - mytree | gzip -9vc > /tmp/mytree.tgz
# mail /tmp/mytree.tgz
git tag last-send
# hack, commit, hack, commit
git format-patch -M -C last-send..
# mail 00* && rm 00*
git tag -f last-send

git tagこのフォームでは、「軽量タグ」を作成します。これは一種のブックマークです。これにより、送信した内容を簡単に追跡して、次回送信できるようになります。

反対側:

# get patches from mail and place in /tmp
git am /tmp/00*
rm /tmp/00*
于 2008-11-29T06:25:04.643 に答える
0

それgit bundleがより良い選択肢のようです。一方通行の通信ワークフローとは異なりgit format-patch、バンドルを使用すると、パブリック リモートで使用するのと同じワークフローを利用できますが、直接アクセスから分離されています。

スニーカーネット用に設計されており、学生がUSBまたは電子メールバンドルに保存するのに最適です.

パッチは、コミュニケーションのプロジェクト リーダー スタイルによる承認のために送信するためのものです。

于 2016-01-26T23:11:30.477 に答える