Rumah > alat pembangunan > git > teks badan

Apakah perbezaan antara push dan pull dalam git

WBOY
Lepaskan: 2022-01-07 16:26:42
asal
17487 orang telah melayarinya

Perbezaan antara push dan pull dalam git: 1. Perintah "git push" menghantar maklumat terkini dalam perpustakaan tempatan ke perpustakaan jauh, dan digunakan untuk menolak kemas kini ke cawangan tempatan ke hos jauh ; 2. " Arahan "git pull" adalah untuk mendapatkan versi terkini dari alat kawalan jauh ke perpustakaan tempatan, dan digunakan untuk mendapatkan dan menyepadukan dari repositori lain atau cawangan tempatan.

Apakah perbezaan antara push dan pull dalam git

Persekitaran pengendalian artikel ini: sistem Windows 10, Git versi 2.30.0, komputer Dell G3.

Apakah perbezaan antara push dan pull dalam git

git push dan git pull ialah sepasang arahan git untuk menolak/menarik? cawangan.

git push menggunakan cawangan sepadan tempatan untuk mengemas kini cawangan jauh yang sepadan

$ git push <远程主机名> <本地分支名>:<远程分支名>
Salin selepas log masuk

Nota: Cawangan tempatan dalam arahan merujuk kepada cawangan yang akan ditolak kepada cawangan hujung terpencil, dan cawangan jauh merujuk kepada cawangan sasaran tolakan, iaitu, cawangan tempatan digabungkan ke dalam cawangan terpencil.

Jika nama cawangan terpencil ditinggalkan, ini bermakna cawangan tempatan akan ditolak ke cawangan terpencil yang mempunyai "hubungan penjejakan" dengannya (biasanya kedua-duanya mempunyai nama yang sama jika cawangan terpencil itu ada). tidak wujud, ia akan dicipta.

$ git push origin master
Salin selepas log masuk

Arahan di atas bermaksud menolak cawangan induk tempatan ke cawangan induk hos asal. Jika yang terakhir tidak wujud, ia akan dibuat.

asal asal ialah alamat kilang terpencil.

Jika nama cawangan tempatan ditinggalkan, ini bermakna memadamkan cawangan jauh yang ditentukan, kerana ini sama dengan menolak cawangan tempatan kosong ke cawangan jauh Perintah ini memadamkan cawangan induk jauh.

$ git push origin :master
# 等同于
$ git push origin --delete master
Salin selepas log masuk

Arahan di atas bermaksud memadamkan cawangan induk hos asal.

Jika terdapat hubungan penjejakan antara cawangan semasa dan cawangan terpencil (iaitu, nama cawangan adalah sama), kedua-dua cawangan tempatan dan cawangan terpencil boleh diabaikan.

$ git push origin
Salin selepas log masuk

Arahan di atas bermaksud menolak cawangan semasa ke cawangan yang sepadan dengan hos asal.

Jika cawangan semasa hanya mempunyai satu cawangan penjejakan, nama hos boleh ditinggalkan.

$ git push
Salin selepas log masuk

Jika cawangan semasa mempunyai hubungan penjejakan dengan berbilang hos, anda boleh menggunakan pilihan -u untuk menentukan hos lalai, supaya anda boleh menggunakan git push tanpa menambah sebarang parameter kemudian.

$ git push -u origin master
Salin selepas log masuk

Arahan di atas akan menolak cawangan induk tempatan ke hos asal, dan menentukan asal sebagai hos lalai Anda kemudiannya boleh menggunakan git push tanpa menambah sebarang parameter.

Git push tanpa sebarang parameter hanya akan menolak cawangan semasa secara lalai Ini dipanggil kaedah mudah. Di samping itu, terdapat kaedah pemadanan yang akan menolak semua cawangan tempatan yang mempunyai cawangan terpencil yang sepadan. Sebelum Git versi 2.0, kaedah padanan telah digunakan secara lalai, tetapi kini ia ditukar kepada kaedah mudah secara lalai. Jika anda ingin mengubah suai tetapan ini, anda boleh menggunakan arahan git config.

$ git config --global push.default matching
# 或者
$ git config --global push.default simple
Salin selepas log masuk

Terdapat situasi lain, iaitu menolak semua cawangan tempatan ke hos jauh tanpa mengira sama ada terdapat cawangan jauh yang sepadan Dalam kes ini, anda perlu menggunakan pilihan –semua.

$ git push --all origin
Salin selepas log masuk

Arahan di atas menunjukkan bahawa semua cawangan tempatan akan ditolak ke hos asal.

Jika versi hos jauh lebih baharu daripada versi tempatan, Git akan melaporkan ralat semasa menolak, memerlukan anda melakukan git pull secara setempat untuk menggabungkan perbezaan sebelum menolak ke hos jauh. Pada masa ini, jika anda mesti menolak, anda boleh menggunakan pilihan --force.

$ git push --force origin
Salin selepas log masuk

Arahan di atas menggunakan pilihan –force, yang menghasilkan “gabungan bukan ke hadapan pantas” pada hos jauh. Melainkan anda benar-benar pasti mahu melakukan ini, anda harus mengelak daripada menggunakan pilihan --force.

Akhir sekali, git push tidak akan menolak tag melainkan pilihan –tags digunakan.

$ git push origin --tags
Salin selepas log masuk

git pull memperoleh dan menggabungkan perpustakaan kilang lain atau cawangan tempatan yang lain.

Tujuan git pull adalah sama dengan operasi git push, tetapi matlamat operasi adalah bertentangan. Format arahan adalah seperti berikut:

git pull <远程主机> <远程分支>:<本地分支>
Salin selepas log masuk

Contohnya:

git pull origin master:my_test
Salin selepas log masuk

Arahan di atas adalah untuk menarik cawangan induk perpustakaan kilang asal dan menggabungkannya ke dalam cawangan my_test tempatan .

Jika cawangan tempatan ditinggalkan, ia akan digabungkan secara automatik ke dalam cawangan semasa. Seperti berikut:

git pull origin master
Salin selepas log masuk

Nota: Jika anda ingin mengambil bahagian dalam beberapa projek cemerlang di github, contoh umum disediakan di bawah:

Pertama sekali, anda memerlukan akaun github dan fork satu Repositori yang anda minati.

Proses penerangan berikut akan melibatkan dua cawangan induk jauh Untuk perbezaan yang baik, kami memanggil repositori jauh cawangan induk bercabang A, dan cawangan garpu ini dipanggil repositori B jauh

$git clone <远程Arepository> #克隆你fork出来的分支
$git remote add <远程Brepository标签> git@github.com:XXXX/ceph.git #添加远程Brepository标签
$git pull <远程B厂库标签> master:master  #从远程Brepository的master分支拉取最新objects合并到本地master分支
$git checkout YYYY #切换到要修改的分支上
$git branch develop; git checkout develop #在当前分支的基础上创建一个开发分支,并切换到该分支上,你将在该分支上coding
coding...... #在工作区coding
$git add .#将修改保存到索引区
$git commit -a #将修改提交到本地分区
$git push origin my_test:my_test #将本地分支my_test提交到远程A repository的my_test分支上
Salin selepas log masuk
<.>Kemudian gabungkan cawangan my_test ke dalam cawangan repositori B jauh yang anda perlu ubah pada antara muka web github. Tunggu semakan pentadbir Jika terdapat sebarang masalah, teruskan membuat perubahan dalam cawangan pembangunan, dan komit –pinda untuk membuat perubahan pada komit sebelumnya. Ketahui dengan meger.

Pembelajaran yang disyorkan: "

Tutorial Git"

Atas ialah kandungan terperinci Apakah perbezaan antara push dan pull dalam git. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
git
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan