0

オープンソース プロジェクトを開始し、友人と Git を使用したいと考えています。私たちは Git について知っていますが、それを使用したのは作業前/単独でフォークするためだけでした。

リポジトリを作成したとしましょう。

状況 1:

Both of us downloaded repository to our local computers to started working.
I've created A.php, with a function named A() in it. Committed.
My friend created B.php, with a function named B() in it. Committed.

Q1: ローカル リポジトリは更新されていませんが、github リポジトリは更新されています。リポジトリ全体を再度ダウンロードせずに同期するにはどうすればよいですか?

Q2: 開発者はどのくらいの頻度でローカル リポジトリを更新しますか? 20:00に更新するかもしれませんが、20:05に別のコミットがあるかもしれません。ローカル リポジトリを更新するためのリアルタイム ソリューションはありますか? この場合の Dropbox のように、変更を加えると自動的に同期されます。

状況 2

Me and my friend both started working on A.php. The file currently has function A(). 
I made a function called function B(), committed.
My friend also created a function called B() too. Committed.

Q3: どうなるの?最初のコミッターは正常にコミットし、2 番目のコミッターは「ファイルが変更されました。ファイルを再度同期してからコミットしてください。」のようなエラーを受け取りますか?

4

3 に答える 3

2

Q1: Fetch または Pull を使用して、元のリポジトリから最新の変更を取得します。

Q2: 元のリポジトリで何が起こったのかを確認したい場合、または git がそうするように強制するため、毎回実行する必要があります。実際、リモートのオリジン リポジトリにプッシュしようとして、ローカル コピーがその背後にある場合、git は、最初にローカル コピーを更新し、変更をマージしてリベースしてから、再度プッシュするように強制します。

Q3: はい、2 回目のプッシュは拒否されます。開発者は、フェッチ、マージ、またはリベースを行い、潜在的な競合を解決してからプッシュする必要があります。

優れた無料のPro Gitを読むことをお勧めします。

于 2013-03-14T15:51:09.143 に答える
0

A1. なぜこれが必要なのですか?git pullリポジトリの変更をローカルにプルすることができます。変更全体をフェッチするだけで、データを受信する他の方法はありません

A2. 本当に必要に応じてそれを行うことができます。他の機能が必要ない場合は、しばらく更新しない可能性があります。必要な場合は、引っ張ってください。

多くの開発者が同様のファイルで作業しているため、実装された機能ごとに常にチェックアウトします。私が行った変更が少なくなり、競合の解決が容易になりました。

A3. Git は関数をマージせず、ソース ファイルをマージします。ファイルの最初に A() を追加し、最後に別のものを追加した場合、すべてが正常にマージされ、2 つの A() が存在します。

HEAD ではないリモートにプッシュするには、マージまたはリベースする必要があります。

于 2013-03-14T15:51:50.750 に答える
0

あなたの質問に答えるガイドのリクエストに応えて、いくつかの提案があります。私は git を初めて使用しますが、esper.net の #git IRC に参加して情報を吸収しています。これは、私が見つけた中で最も役立つと思ったチュートリアル/ガイドです。

  • Ry の Git チュートリアル断然私のお気に入りです。git のあらゆる側面を優しくガイドする、非常に明確でシンプルなチュートリアルです。
  • Gitの紹介チュートリアルとしてはそれほどスムーズではありませんが、優れた「チート シート」と多くの便利なリンクが下部にあります。
  • try.github.com これは github のスターター チュートリアルです。すでにローカルで使用しているため、このリンクはまったくの初心者に役立ちます。
  • gitolite.com/master-toc.html git の使用に関する 1 人の人物の広範かつ非常に詳細なメモ。

これらのリンクがお役に立てば幸いです。これらのチュートリアルを通じて、すべての質問やその他の質問に答えることができると確信しています。

于 2013-03-14T16:56:02.150 に答える