961

私が行っているGitチュートリアルでは、行っgit commitた変更を保存するために使用されます。

その時は何にgit push使われますか?

4

16 に答える 16

1733

基本的に、 git commitリポジトリへの変更を記録する」一方で、git push関連するオブジェクトとともにリモート参照を更新する」。したがって、前者はローカルリポジトリに関連して使用され、後者はリモートリポジトリとの対話に使用されます。

これは、Gitモデルとコマンドを説明するOliverSteele素敵な写真です。

Gitデータ転送コマンド

GitReady.com(私が最初に参照した記事)についてgit pushの詳細を読むgit pull

于 2010-04-30T14:20:17.653 に答える
242

commit:ローカルリポジトリに変更を追加します

push:最後のコミットをリモートサーバーに転送します

于 2010-04-30T14:20:40.283 に答える
71

基本的に、git commitは変更をローカルリポジトリに配置し、gitpushは変更をリモートの場所に送信します。

于 2010-04-30T14:21:32.457 に答える
30

git pushローカルリポジトリで行ったコミットをリモートリポジトリに追加するために使用されます-と一緒にgit pull、人々が共同作業できるようにします。

于 2010-04-30T14:20:37.250 に答える
27

gitは分散バージョン管理システムであるため、違いは、commitが変更をローカルリポジトリにコミットするのに対し、pushは変更をリモートリポジトリにプッシュすることです。

于 2010-04-30T14:20:55.057 に答える
26

コミットスナップショット| チェンジセット| バージョン| 歴史記録| リポジトリの「名前を付けて保存」Gitリポジトリ=コミットのシリーズ(ツリー)。

ローカルリポジトリ:コンピュータ上のリポジトリ。

リモートリポジトリ:サーバー上のリポジトリ(Github)。

git commit:新しいコミット(最後のコミット+段階的な変更)をローカルリポジトリに追加します。(コミットはに保存され/.gitます)

git push、 :ローカルリポジトリを関連する リモートgit pullリポジトリと同期します。-ローカルからリモートに変更を適用します。-リモートからローカルに変更を適用します。pushpull

于 2016-08-04T15:59:05.903 に答える
12

git commit変更をローカルリポジトリに記録します。

git push ローカルの変更でリモートリポジトリを更新します。

于 2013-08-11T06:20:04.497 に答える
10

注意すべき3つのこと:

1)作業ディレクトリ-----コードファイルが存在するフォルダ

2)ローカルリポジトリ------これはシステム内にあります。初めてCOMMITコマンドを作成すると、このローカルリポジトリが作成されます。作業ディレクトリと同じ場所に、
Checkit(.git)ファイルが作成されます。
その後、コミットするたびに、作業ディレクトリのファイルに加えた変更がローカルリポジトリ(.git)に保存されます。

3)リモートリポジトリ-----これは、世界中のどこにでもあるサーバーのように、システムの外部にあります。githubのように。PUSHコマンドを作成すると、ローカルリポジトリのコードがこのリモートリポジトリに保存されます

于 2018-05-16T16:08:11.527 に答える
7

次の点を追加したいだけです。

git pushYonは、ローカルブランチで行われたコミットをリモートリポジトリにプッシュするために使用するため、コミットするまでプッシュできません。

このgit pushコマンドは2つの引数を取ります。

リモート名、たとえば、origin ブランチ名、たとえば、master

例えば:

git push  <REMOTENAME> <BRANCHNAME> 
git push  origin       master
于 2016-11-27T19:52:27.887 に答える
5

非常に大雑把な例えです。git commit編集したファイルを保存する場合と比較すると、git pushそのファイルを別の場所にコピーすることになります。

この例えをこの文脈から外さないでください。コミットしてプッシュすることは、編集したファイルを保存してコピーすることとはまったく異なります。とはいえ、比較のために保持する必要があります。

于 2016-08-04T18:34:24.437 に答える
1

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 addgit commit分解できます。他の回答やコメントが指摘しているように、もちろんそれらにはもっと多くの用途があります。ただし、これは最も一般的な使用法の1つであり、Svnのような他の一般的なものとは異なり、Gitが多段階のリビジョン管理システムである背後にある駆動原理です。

于 2018-01-15T06:13:34.577 に答える
0

git commitは、変更を公式に保存することに他なりません。コミットメッセージを送信するたびに、コミットが完了したら、リモートにプッシュして変更をグローバルに確認できます。

これは、リモートにプッシュする前に多数のコミットを実行できることを意味します(発生したコミットのリストとメッセージも確認できます)gitは、40桁のコードであるコミットIDを使用して各コミットを保存します

そして、リモートで変更を確認したい場合にのみgit pushを使用します(その後、コードがjenkinsで機能するかどうかを確認します)

于 2017-12-20T07:49:19.873 に答える
0

変更をコミットするときは、変更を単一の論理セットとしてローカルリポジトリに保存します。プッシュせずにこれを複数回行うことができます。それらがプッシュされるまで、それらはローカルリポジトリを離れません。つまり、リモートリポジトリにはこれらの変更のセットがまだないため、他の人がリモートリポジトリからプルするときに、コミットはプルされません。

プッシュすると、ローカルリポジトリで行ったすべてのコミットがリモートリポジトリに転送されるため、このリモートリポジトリを共有する他の開発者がプルすると、変更がローカルリポジトリに転送されます。Gitコマンドとチートシートをここで確認してください。

于 2021-08-14T06:39:39.660 に答える
-3

git commitローカルリポジトリにステージングされているファイルをコミットすることです。git pushローカル側のマスターブランチをリモートマスターブランチと早送りでマージすることです。しかし、マージは常に成功するとは限りません。拒否が表示されpullた場合は、成功できるようにする必要がありますgit push

于 2014-08-12T08:56:26.963 に答える
-4

基本的に、git commitは変更をローカルリポジトリに配置し、gitpushは変更をリモートの場所に送信します。gitは分散バージョン管理システムであるため、違いは、commitはローカルリポジトリに変更をコミットするのに対し、pushは変更をリモートリポジトリにプッシュすることです。

ソースGoogle

http://gitref.org/basic/このリンクも非常に便利です

https://git-scm.com/docs/git-commit

于 2016-08-01T11:51:23.260 に答える
-4

素人の言葉で言えば、ファイルをgithubに正常にgitするために、それらを実行するgit commit前のステップです。git push

于 2017-06-17T21:38:22.410 に答える