git add
まず、入力してから実行するまでに遅延がありますgit commit
。したがって、git add
「同時に」実行されたと仮定すると、git commit が実行される最初のユーザーはすべてのファイルをコミットし、他のユーザーにはコミットするものが何もないというエラーが発行されます。
これはすべて、両方の「ユーザー」が同じディレクトリで同じ「ユーザー」として動作することを前提としています。これは、各「ユーザー」が独自のユーザーであり、共通リポジトリの独自のクローン バージョンで操作する実際の git ワークフローとは何の関係もありません。あなたが言及している問題は、git push
レベルで発生する可能性があります。ただし、リモートリポジトリで「プッシュ」を受信した最初のユーザーは期待どおりに更新され、他のユーザーには「プッシュが拒否されました」というエラーが発行されます。これは、ツリーに矛盾があり、「遅い」ユーザーであるためです。他のユーザーのコミットに変更を適用する必要があります。競合がないことが保証されていれば、解決するのは簡単です。
http://www.danielmiessler.com/study/git/またはその他の git チュートリアルを読むことをお勧めします。
多くの人が同時にアクセスする可能性のあるバージョン管理された展開について話している場合は、ワークフローを変更して、プッシュを介して変更を公開し、一般的に使用されるサーバーに展開する外部リポジトリを使用することを強くお勧めします経由git clone
してからgit pull
:
user1 local repo git push to --> common repo <-- git clone/pull on common server
user2 local repo git push to ----^