Gitチュートリアルでは、行っgit commit
た変更を保存するために使用されます。
git push
それでは何が使われるのですか?
Gitチュートリアルでは、行っgit commit
た変更を保存するために使用されます。
git push
それでは何が使われるのですか?
回答:
基本的にgit commit
「リポジトリへの変更を記録する」一方で、git push
「関連するオブジェクトとともにリモート参照を更新する」。したがって、前者はローカルリポジトリに関連して使用され、後者はリモートリポジトリとのやり取りに使用されます。
これはgitモデルとコマンドを説明するOliver Steeleの素敵な写真です:
詳細読むgit push
とgit pull
上GitReady.com(私が最初に参照記事)
git push
。実際には、の宛先は任意の gitリポジトリにgit push
することができます。これは、別のディレクトリ(git remote add clone ~/proj/clone.git; git push clone master
またはgit push ~/proj/clone.git master
など)の独自のローカルハードドライブ、または独自のホストが提供するgitリポジトリに置くことができます。
まあ、基本的にgit commitは変更をローカルリポジトリに入れますが、git pushは変更をリモートの場所に送信します。
git push
実際の更新されたファイルまたはいくつかの特別な「差分」ファイルをアップロード?
git push
ローカルリポジトリで行ったコミットをリモートコミットに追加するために使用されます-とともに、git pull
人々は共同作業を行うことができます。
gitは分散バージョン管理システムであるため、commitは変更をローカルリポジトリにコミットしますが、pushは変更をリモートリポジトリにプッシュします。
コミット:スナップショット| チェンジセット| History_record | バージョン| リポジトリの「名前を付けて保存」。Gitリポジトリ=一連のコミット(ツリー)。
ローカルリポジトリ:コンピュータ上のリポジトリ。
リモートリポジトリ:サーバー上のリポジトリ(Github)。
git commit
:新しいコミット(最後のコミット + 段階的な変更)をローカルリポジトリに追加します。(すべてのコミットはに保存されます/.git
)
git push
、git pull
:ローカルリポジトリを関連するリモートリポジトリと 同期します。push
-から変更を適用ローカルにリモート、pull
-からの変更を適用し、リモートにローカル。
注意すべき3つのこと:
1)作業ディレクトリ -----コードファイルが存在するフォルダー
2)ローカルリポジトリ ------これはシステム内にあります。初めてCOMMITコマンドを実行すると、このローカルリポジトリが作成されます。作業ディレクトリと同じ場所に、
Checkit(.git)ファイルが作成されます。
その後、コミットすると、作業ディレクトリのファイルに加えた変更がローカルリポジトリ(.git)に保存されます。
3)リモートリポジトリ -----これは、世界中のどこにあるサーバーのように、システムの外部にあります。githubのように。PUSHコマンドを作成すると、ローカルリポジトリのコードがこのリモートリポジトリに保存されます
次の点を追加したいだけです:
git push
ローカルブランチで行われたコミットをリモートリポジトリにプッシュするために使用するように、Yonはコミットするまでプッシュできません。
git push
コマンドには2つの引数を取ります。
リモート名。たとえば、origin
ブランチ名。master
例えば:
git push <REMOTENAME> <BRANCHNAME>
git push origin master
gitコマンドの使用と、Githubのリポジトリでログファイルが維持されていると想像するadd
と、理解しやすいcommit
でしょう。私の典型的なプロジェクトのログファイルは次のようになります。
---------------- Day 1 --------------------
Message: Completed Task A
Index of files changed: File1, File2
Message: Completed Task B
Index of files changed: File2, File3
-------------------------------------------
---------------- Day 2 --------------------
Message: Corrected typos
Index of files changed: File3, File1
-------------------------------------------
...
...
...and so on
私は通常、1日をgit pull
リクエストで開始し、リクエストで終了しgit push
ます。したがって、1日のレコード内のすべてが、それらの間で発生することに対応します。毎日、いくつかのファイルを変更する必要がある、1つ以上の論理的なタスクが完了しています。そのタスク中に編集されたファイルは、インデックスにリストされます。
これらの各サブタスク(ここではタスクAとタスクB)は個別のコミットです。このgit add
コマンドは、「変更されたファイルのインデックス」リストにファイルを追加します。このプロセスはステージングとも呼ばれ、実際には変更されたファイルと実行された変更が記録されます。git commit
コマンドレコードが/変更し、後で参照するために使用することができるカスタムメッセージとともに、対応するインデックスリストを確定します。
変更するのはリポジトリのローカルコピーのみであり、Githubのローカルコピーは変更しないことに注意してください。この後、git push
これらの記録されたすべての変更を行う場合にのみ、各コミットのインデックスファイルとともに、メインリポジトリ(Github)にログを記録します。
例として、架空のログファイルの2番目のエントリを取得するには、次のようにします。
git pull
# Make changes to File3 and File4
git add File3 File4
# Verify changes, run tests etc..
git commit -m 'Corrected typos'
git push
簡単に言うgit add
とgit commit
、メインリポジトリへの変更を体系的な論理サブ変更に分解できます。他の回答やコメントが指摘しているように、もちろんそれらにはもっと多くの用途があります。ただし、これは最も一般的な使用法の1つであり、Svnのような他の一般的なものとは異なり、Gitが多段階のリビジョン管理システムであることの背後にある推進原則です。
まあ、基本的にgit commitは変更をローカルリポジトリに入れますが、git pushは変更をリモートの場所に送信します。gitは分散バージョン管理システムなので、commitは変更をローカルリポジトリにコミットしますが、pushは変更をリモートリポジトリにプッシュします。
ソースGoogle
http://gitref.org/basic/このリンクも非常に役立ちます
git commit
ローカルリポジトリにステージングされたファイルをコミットします。git push
ローカル側のマスターブランチをリモートマスターブランチと早送りでマージします。しかし、マージは常に成功するとは限りません。拒否が表示さpull
れた場合は、成功させるためにする必要がありますgit push
。