Rumah  >  Artikel  >  alat pembangunan  >  Bagaimana untuk memahami penggunaan asas git dalam 20 minit

Bagaimana untuk memahami penggunaan asas git dalam 20 minit

WBOY
WBOYke hadapan
2022-01-05 17:36:571630semak imbas

Artikel ini membawa anda pengetahuan asas tentang penggunaan git, termasuk operasi asas git, operasi cawangan, operasi penyerahan perubahan, dll. Saya harap ia akan membantu semua orang.

Bagaimana untuk memahami penggunaan asas git dalam 20 minit

1. Tetapkan Kunci SSH

Tetapkan Kunci SSH supaya peranti boleh mendapat kebenaran untuk mengakses repositori kod dalam akaun

$ ssh-keygen -t rsa -C "your_email@example.com"
  • "your_email@example.com" Tetapkannya sebagai alamat e-mel berdaftar akaun GitHub anda
  • Fail id_rsa ialah kunci peribadi dan id_rsa.pub ialah kunci awam.
$ cat ~/.ssh/id_rsa.pub

Kandungan kunci awam ssh-rsa your_email@example.com

  • Kemudian salin kunci awam dan tambahkannya pada akaun Beri perhatian bahagian hadapan ssh-rsa Juga salin
  • Avatar》Tetapan》SSH Key》Kekunci SSH baharu

Seterusnya sahkan, jika perkataan "berjaya" muncul, ia bermakna kejayaan

$ ssh -T git@github.com
Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa':
Hi abc! You've successfully authenticated, but GitHub does not provide shell access.

2. Operasi asas git

2.1 git klon gudang sedia ada

$ git clone git@github.com:hirocastest/Hello-World.git

Di sini anda akan diminta untuk memasukkan kosong set kunci pada Kata Laluan GitHub, selepas pengesahan berjaya, gudang akan diklon ke dalam direktori semasa.

2.2 git add Tambah fail ke kawasan pementasan

Selepas kod ditulis, tambah kod pada kawasan pementasan sistem

$ git add 文件夹/文件

2.3 git commit Simpan Sejarah gudang

Arahan komit git sebenarnya boleh menyimpan fail dalam kawasan pementasan semasa ke sejarah gudang. Melalui rekod ini, kami boleh memulihkan fail dalam pepohon kerja.

$ git commit -m "记录一行提交信息"
  • m mewakili gambaran keseluruhan penyerahan ini Jika anda ingin merekodkan maklumat terperinci, alih keluar -m

2.4 git push

. Selepas itu, selagi anda melaksanakan perintah push, gudang di GitHub akan dikemas kini

$ git push

2.5 git init memulakan gudang

clone kaedah untuk mencipta gudang, tiada operasi init diperlukan . Jika anda ingin menetapkan fail tempatan sebagai gudang, anda perlu melakukan operasi init

$ mkdir git-tutorial

$ cd git-tutorial

$ git init

status 2.6 git untuk melihat status gudang

$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

Akibatnya, kami berada di bawah cawangan induk, dan Tiada apa-apa untuk diserahkan

2.7 git log Lihat log penyerahan

git log Perintah boleh melihat log yang diserahkan di gudang sebelumnya. Termasuk siapa yang komited atau bergabung apabila

$ git log
commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD)
Author: ywm <ywm_up@qq.com>
Date:   Sun Feb 28 17:17:00 2021 +0800

Jika anda hanya mahu memaparkan baris pertama maklumat komit, anda boleh menambah git log-- pretty=short

$ git log --pretty=short > 2.8 git diff Semak perbezaan sebelum dan selepas perubahan

Laksanakan

Semak perbezaan antara buku kerja semasa dan kawasan pementasangit diff

$ git diff

3 >Berbilang cawangan boleh diwujudkan untuk menjalankan tugas yang sama sekali berbeza pada masa yang sama. Tunggu kerja cawangan selesai sebelum menggabungkannya dengan cawangan induk. Melalui penggunaan cawangan yang fleksibel, berbilang orang boleh melaksanakan pembangunan serentak dengan cekap pada masa yang sama.

Cawangan 3.1 git memaparkan senarai cawangan

Terdapat “*” (asterisk) di sebelah kiri cawangan induk, menunjukkan bahawa ini ialah cawangan yang sedang kita gunakan.

3.2 git checkout mencipta dan menukar cawangan
$ git branch
* master

Mencipta dan menukar kepada ciri cawangan-A

Malah, arahan di atas adalah bersamaan dengan Yang berikut dua arahan
$ git checkout -b feature-A

tukar kembali ke cawangan mian
$ git branch feature-A

$ git checkout feature-A

tukar kembali ke cawangan sebelumnya
$ git checkout main

$ git checkout -
lakukan ini: buat Cawangan baharu ciri, ubah suai README.md pada cawangan baharu, dan tambah serta komit
  • Ia boleh dibuktikan melalui operasi sebenar: selagi berbilang cawangan dicipta, berbilang proses boleh dijalankan pada masa yang sama tanpa menjejaskan satu sama lain. Pembangunan fungsi

3.3 git cantumkan cawangan

Tambah parameter --no–ff apabila bergabung untuk menyimpan sejarah cawangan sebelumnya

Penyunting kemudiannya Ia akan dimulakan dan digunakan untuk memasukkan maklumat komit gabungan
$ git merge --no-ff feature

3.4 git log --graf untuk melihat cawangan sebagai ikon

$ git log --graph
4 commit operation

4.1 git reset Menjejak ke belakang versi sejarah

Lihat log operasi gudang semasa melalui
$ git reset --hard 目标时间点的hash值
untuk mencari nilai cincang sebelum sejarah penjejakan ke belakang. Selagi GC (pengumpulan sampah) git tidak dilakukan, status sejarah terkini boleh diambil sesuka hati melalui log. Walaupun pembangun melakukan operasi git secara tidak sengaja, dia pada asasnya boleh menggunakan arahan git reflog untuk memulihkan kepada keadaan asal.

git reflog

Apa yang dicetak di atas ialah operasi terbaharu, dan apa yang dicetak di bawah ialah operasi tertua
$ git reflog

4.2 Menghapuskan konflik

Adalah mudah untuk berlaku apabila penggabungan operasi Konflik, pada masa ini anda perlu
    membuka editor
  • untuk menyelesaikan konflik Dalam pembangunan sebenar, salah satu daripadanya selalunya perlu dipadamkan, jadi pastikan untuk
  • teliti kandungan bahagian yang bercanggah sebelum meneruskan Buat pengubahsuaian
  • Selepas menyelesaikan konflik, lakukan operasi tambah dan komit
  • Jika anda tidak berpuas hati dengan penyerahan sebelumnya maklumat, anda boleh menggunakan parameter pindaan untuk mengubah suainya

4.3 git rebase -i compress history
$ git commit --amend

Sebelum menggabungkan cawangan, jika anda mendapati beberapa ralat ejaan dalam kandungan yang diserahkan, anda boleh ingin menyerahkan pengubahsuaian dan kemudian memasukkan pengubahsuaian ke dalam penyerahan sebelumnya Dimampatkan ke dalam rekod sejarah.

Anda boleh memilih tempoh untuk menyasarkan dua rekod sejarah terkini termasuk HEAD dalam cawangan, dan membukanya dalam editor
git rebase -i HEAD~2

5 推送至远程仓库

5.1 git remote add 添加远程仓库

在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。

git remote 在先写代码,后创建仓库的情况下能较好的使用

$ git remote add origin git@github.com:github-book/git-tutorial.git

对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改

5.2 git push 推送至远程仓库

推送至 master 分支

$ git push -u origin master

-u 参数可以在推送的同时,将 origin 仓库的 master 分支设置为本地仓库当前分支的 upstream(上游),添加这个参数,将来运行 git pull 命令从远程仓库获取内容的时候,本地仓库的这个分支就可以直接从 origin 的 masteer 分支获取内容,省去了另外添加参数的麻烦

除了 master 分支之外,还可以推送到其他分支

$ git checkout -b feature-D

$ git push -u origin feature-D

6 从远程仓库中获取

6.1 git clone 获取远程仓库

$ git clone git仓库地址

将本地的 feature-D 分支更新到最新状态

$ git pull origin feature-D
  • 多名开发者在同一个分支中进行作业时,为减少冲突情况的发生,建议更频繁的进行 push 和 pull 操作

推荐学习:《Git教程

Atas ialah kandungan terperinci Bagaimana untuk memahami penggunaan asas git dalam 20 minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:csdn.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam