Rumah > Artikel > alat pembangunan > Bagaimana untuk memahami penggunaan asas git dalam 20 minit
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.
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 $ cat ~/.ssh/id_rsa.pub
Kandungan kunci awam ssh-rsa your_email@example.com
ssh-rsa
Juga salin 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.
$ 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.
Selepas kod ditulis, tambah kod pada kawasan pementasan sistem
$ git add 文件夹/文件
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 "记录一行提交信息"
. Selepas itu, selagi anda melaksanakan perintah push
, gudang di GitHub akan dikemas kini
$ git push
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
$ 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
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
Semak perbezaan antara buku kerja semasa dan kawasan pementasangit diff
$ git diff
Cawangan 3.1 git memaparkan senarai cawangan
$ git branch * master
$ git checkout -b feature-Atukar kembali ke cawangan mian
$ git branch feature-A $ git checkout feature-Atukar 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
3.3 git cantumkan cawangan
$ git merge --no-ff feature
3.4 git log --graf untuk melihat cawangan sebagai ikon
$ git log --graph4 commit operation
$ 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
$ git reflog
4.2 Menghapuskan konflik
Adalah mudah untuk berlaku apabila penggabungan operasi Konflik, pada masa ini anda perlu$ git commit --amend
git rebase -i HEAD~2
在创建新仓库的时候,建议不要勾选 README.md 文件,这样会使本地仓库和远程仓库失去整合性。虽然到时候可以强制覆盖,但防止这一情况发生,还是不要勾选,就创建一个空仓库就好。
git remote 在先写代码,后创建仓库的情况下能较好的使用
$ git remote add origin git@github.com:github-book/git-tutorial.git
对于一般先创仓库,后写代码的,需要先 pull 下来仓库,再对文件进行修改
推送至 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
$ git clone git仓库地址
将本地的 feature-D 分支更新到最新状态
$ git pull origin feature-D
推荐学习:《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!