Rumah  >  Artikel  >  alat pembangunan  >  Tiga puluh minit untuk memulakan anda dengan Git (ringkasan)

Tiga puluh minit untuk memulakan anda dengan Git (ringkasan)

WBOY
WBOYke hadapan
2022-02-25 17:13:032878semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang memulakan git, termasuk konfigurasi persekitaran, teori asas, pembinaan projek, operasi fail dan isu berkaitan yang lain, saya harap ia akan membantu semua orang.

Tiga puluh minit untuk memulakan anda dengan Git (ringkasan)

Pembelajaran yang disyorkan: "Tutorial Pengenalan Git"

Kawalan Versi

Apa ? Ia adalah kawalan versi (lelaran versi, versi baharu! Pengurus versi)

Kawalan versi (Kawalan semakan) ialah kaedah yang digunakan untuk mengurus fail, direktori atau projek kami semasa proses pembangunan. mudah untuk melihat sejarah perubahan, teknologi kejuruteraan perisian sandaran untuk memulihkan versi sebelumnya.

  • Mencapai pembangunan kolaboratif berbilang orang merentas wilayah
  • Jejak dan rekod sejarah satu atau lebih fail
  • Atur dan lindungi kod sumber dan dokumen anda
  • Beban kerja statistik
  • Pembangunan selari, tingkatkan kecekapan pembangunan
  • Jejak dan rekod keseluruhan proses pembangunan perisian
  • Kurangkan beban pembangun, jimat masa dan kurangkan pemikiran Ralat

Ringkasnya, ia adalah teknologi yang digunakan untuk mengurus projek pembangunan kolaboratif berbilang orang.

Tanpa kawalan versi atau kekurangan pengurusan proses yang betul di wilayah ini, banyak masalah akan diperkenalkan dalam proses pembangunan perisian, seperti ketekalan kod perisian, redundansi kandungan perisian dan sifat transaksional proses perisian. Isu seperti keselarasan dalam proses pembangunan perisian, keselamatan kod sumber perisian dan penyepaduan perisian.

Alat kawalan versi biasa

Pengawal versi arus perdana adalah seperti berikut:

  • Git
  • SVN ( Subversion)
  • CVS (Sistem Visual Serentak)
  • VSS (Micorosoft Visual SourceSafe)
  • TFS (Pelayan Yayasan Pasukan)
  • Visual Studio Dalam Talian

Produk kawalan versi (Perforce, Rational ClearCase, RCS (GNU Revision Control System), Serena Dimention, SVK, BitKeeper, Monotone, Bazaar, Mercurial, SourceGear Vault), yang paling berpengaruh dan digunakan secara meluas sekarang ialah Git dan SVN .

1. Kawalan versi setempat

Rakam setiap kemas kini fail Anda boleh mengambil gambar bagi setiap versi atau rekod fail tampalan, sesuai untuk kegunaan peribadi, seperti RCS.

2. Kawalan versi terpusat SVN

Semua data versi disimpan pada pelayan dan pembangun kerjasama boleh menyegerakkan kemas kini atau memuat naik pengubahsuaian mereka sendiri daripada pelayan.

Semua data versi disimpan pada pelayan pengguna hanya mempunyai versi yang telah disegerakkan sebelum ini. Jika dia tidak disambungkan ke Internet, pengguna tidak dapat melihat versi sejarah dan tidak boleh menukar versi isu pengesahan atau bekerja di cawangan yang berbeza . Lebih-lebih lagi, semua data disimpan pada pelayan tunggal Terdapat risiko tinggi bahawa pelayan ini akan rosak dan semua data akan hilang, ia boleh disandarkan dengan kerap. Produk wakil: SVN, CVS, Lwn.

3. Kawalan versi teragih GIT

Setiap cawangan mempunyai semua kod.

Semua gudang maklumat versi disegerakkan kepada setiap pengguna tempatan, supaya semua sejarah versi boleh dilihat secara setempat dan diserahkan secara tempatan di luar talian, dan hanya perlu ditolak ke pelayan yang sepadan atau pengguna lain apabila disambungkan ke Internet. Memandangkan setiap pengguna menyimpan semua data versi, selagi tiada masalah dengan satu peranti pengguna, semua data boleh dipulihkan, tetapi ini meningkatkan penggunaan ruang storan tempatan.

Ia tidak akan dapat berfungsi kerana kerosakan pelayan atau masalah rangkaian.

4 Perbezaan utama antara Git dan SVN

SVN ialah sistem kawalan versi terpusat Pustaka versi dipusatkan pada pelayan pusat, dan ia digunakan apabila bekerja Mereka semua mempunyai komputer mereka sendiri, jadi mereka mesti mendapatkan versi terkini daripada pelayan pusat, dan kemudian bekerja Selepas menyelesaikan kerja, mereka perlu menolak kerja malam tadi ke pelayan pusat. Sistem kawalan versi berpusat mesti disambungkan ke Internet untuk berfungsi, dan memerlukan lebar jalur rangkaian yang tinggi.

GIT ialah sistem kawalan versi yang diedarkan tanpa pelayan pusat Setiap komputer adalah pustaka versi lengkap Tidak perlu menyambung ke Internet apabila berfungsi, kerana semua versi ada pada komputer. Kaedah kerjasama adalah ini: Contohnya, jika anda menukar fail A pada komputer anda dan orang lain juga menukar fail A pada komputer anda, maka anda berdua hanya perlu menolak pengubahsuaian anda antara satu sama lain, dan kemudian anda boleh melihat satu sama lain. telah diubah suai. Git boleh melihat terus kod dan fail yang telah dikemas kini.

Git kini merupakan sistem kawalan versi teragih yang paling maju di dunia.

Konfigurasi persekitaran Git

Buka tapak web rasmi Git https://git-scm.com dan muat turun versi git yang sepadan dengan sistem pengendalian.

Jika semuanya lambat untuk dimuat turun, anda boleh mencari cermin!

Muat turun tapak web rasmi terlalu perlahan, anda boleh menggunakan muat turun cermin Taobao: http://npm.taobao.org/mirrors/git-for-windows/

Mulakan Git

Git Bash: baris arahan gaya Unix dan Linux, yang paling banyak digunakan dan disyorkan

Git CMD: baris arahan gaya Windows

Git GUI: Git with antara muka grafik, tidak Disyorkan untuk pemula, cuba biasakan dengan arahan biasa dengan ixan

Pembelajaran arahan Linux asas

cd: tukar direktori

cd ..Kembali ke halaman sebelumnya Direktori A, terus cd ke dalam direktori lalai

pwd: memaparkan laluan direktori semasa

ls(ll): menyenaraikan semua fail dalam direktori semasa, tetapi kandungan yang disenaraikan oleh ll diikuti oleh Untuk butiran

sentuh: Buat fail baharu seperti touch index.js dan fail index.js baharu akan dibuat dalam direktori semasa

rm: Padam fail

mkdir: Cipta baharu Direktori ialah folder baharu.

rm-r: Padam folder, rm-r src memadam direktori src

mv memindahkan fail

set semula memulakan semula terminal dan mengosongkan skrin

jelaskan skrin

historyView sejarah arahan

bantuan

keluar keluar

# menunjukkan ulasan

Konfigurasi Git

Semua fail konfigurasi sebenarnya disimpan secara setempat

Tetapkan nama pengguna dan e-mel:

git config --global user.name "name"

git config -- global user.email 22222@qq.com

git config --system --list Tanya konfigurasi yang dikonfigurasikan oleh sistem

git config --global --list Tanya konfigurasi global

Teori asas Git

Git mempunyai tiga kawasan kerja tempatan: direktori kerja (Direktori Kerja), kawasan pementasan (Peringkat, Indeks) dan perpustakaan sumber (Repositori atau Direktori Git). Jika anda menambah gudang git jauh (Remote Directory), ia boleh dibahagikan kepada empat kawasan kerja. Hubungan penukaran antara fail antara empat kawasan ini adalah seperti berikut:

  • Ruang kerja: Ruang kerja ialah tempat anda biasanya menyimpan kod projek
  • Indeks/ Peringkat: Kawasan storan sementara: digunakan untuk menyimpan sementara perubahan anda Sebenarnya, ia hanyalah fail untuk menyimpan maklumat yang akan dihantar ke senarai fail
  • Repositori: Kawasan gudang (atau gudang tempatan), iaitu. untuk menyimpan data dengan selamat Lokasi mengandungi data yang anda serahkan kepada semua versi. HEAD menunjuk kepada versi terkini yang dimasukkan ke dalam gudang.
  • Jauh: Gudang jauh, pelayan yang mengehoskan kod, boleh dianggap sebagai komputer dalam pasukan projek anda untuk pertukaran data jauh.

Setepatnya, tiga kawasan tempatan hendaklah versi yang ditunjukkan oleh HEAD dalam repositori git:

  • Direktori: Gunakan pengurusan Git Direktori, iaitu, gudang, mengandungi ruang kerja kami dan ruang pengurusan Git.
  • WorkSpace: Direktori dan fail yang memerlukan kawalan versi melalui Git Direktori dan fail ini membentuk ruang kerja
  • .git: Direktori yang menyimpan maklumat pengurusan Git, dibuat secara automatik apabila gudang dimulakan.
  • Indeks/Peringkat: Kawasan pementasan, atau kawasan kemas kini yang akan dihantar sebelum menghantarnya ke repo, kami boleh meletakkan semua kemas kini di kawasan pementasan.
  • Repo Tempatan: repositori tempatan, repositori yang disimpan secara tempatan hanya akan menjadi cawangan pembangunan semasa.
  • Stash: Tersembunyi, ia ialah tindanan menyimpan status kerja yang digunakan untuk menyimpan/memulihkan status sementara dalam WorkSpace.

Aliran Kerja

Aliran kerja git biasanya seperti berikut:

1. Tambah dan ubah suai fail dalam direktori kerja;

2. Letakkan fail yang memerlukan pengurusan versi ke dalam kawasan pementasan;

Oleh itu, fail yang diuruskan oleh git mempunyai tiga keadaan: diubah suai, berperingkat dan komited.

Pembinaan projek Git

Mencipta direktori kerja dan arahan biasa

Direktori kerja (WorkSpace) secara amnya ialah apa yang anda mahukan Git membantu anda mengurus. Folder boleh menjadi direktori projek anda atau direktori kosong.

Untuk kegunaan harian, cuma ingat 6 arahan di bawah:

Bina gudang tempatan:

Cipta tempatan Terdapat dua cara untuk mencipta gudang: satu ialah mencipta gudang serba baharu, dan satu lagi ialah mengklon gudang terpencil.

1. Untuk mencipta gudang baharu, anda perlu menggunakan direktori akar projek yang diuruskan oleh GIT untuk melaksanakan:

#在当前目录新建一个Git代码库
$ git init初始化

2 Direktori .git dalam direktori projek Semua maklumat tentang versi, dsb. ada dalam direktori ini.

Klon repositori jauh

1 Cara lain ialah dengan mengklon direktori jauh, kerana ia mencerminkan sepenuhnya seluar pada pelayan jauh kepada yang setempat!

#可镂一个项目和它的整个代码历史(版本信息)
$ git clone [url]

2. Mengklonkan ujian pada gitee atau github

Kendalian fail Git

Status Fail 4

Kawalan versi ialah kawalan versi fail Untuk mengubah suai dan menyerahkan fail, anda mesti mengetahui status semasa fail tersebut .

  • Tidak Dijejaki: Tidak dijejaki, fail ini berada dalam folder, tetapi ia tidak ditambahkan pada perpustakaan git, tidak mengambil bahagian dalam kawalan versi dan berubah kepada berperingkat melalui git add.
  • Nyahubah suai: Fail telah disimpan dalam pustaka dan belum diubah suai Iaitu, kandungan petikan fail dalam repositori adalah sama persis dengan fail jenis ini mempunyai dua tempat. Jika ia diubah suai, ia menjadi Modified . Jika anda menggunakan git rm untuk mengalih keluar repositori, ia akan menjadi fail Tidak Dijejaki
  • Diubah suai: fail telah diubah suai, baru diubah suai dan tiada operasi lain telah dilakukan. Fail ini juga mempunyai dua tempat masukkan storan sementara melalui git add Dalam keadaan berperingkat, menggunakan git checkout akan membuang pengubahsuaian dan kembali ke keadaan unmodify ini git checkout akan mengeluarkan fail dari perpustakaan dan menimpa pengubahsuaian semasa.
  • Berperingkat: Keadaan sementara Laksanakan git commit untuk menyegerakkan pengubahsuaian pada pustaka Pada masa ini, fail dalam pustaka dan fail setempat menjadi konsisten semula dan fail berada dalam keadaan Nyahubah. Jalankan nama fail git reset HEAD untuk membatalkan storan sementara, dan status fail berubah kepada Diubah suai.

Lihat status fail

Dikatakan bahawa fail mempunyai empat status Anda boleh menyemak status fail dengan menjalankan arahan berikut:

#查看执行文件状态
git status [filename]
#查看所有文件状态
git status
#添加所有文件到暂存区
git add .
#提交暂存区中的内容到本地仓库 -m提交信息
git commit -m "注释内容"

Abaikan fail

Kadangkala kita tidak mahu meletakkan fail tertentu ke dalam kawalan versi, seperti fail pangkalan data, fail sementara, fail reka bentuk, dll.

Buat dalam fail direktori utama" .gitignore", fail ini mempunyai peraturan berikut:

  1. Abaikan baris kosong dalam fail atau baris yang bermula dengan tanda paun (#) akan diabaikan.
  2. Kad bebas Linux boleh digunakan. Contohnya: asterisk (*) mewakili sebarang bilangan aksara, helo (?) mewakili satu aksara, kurungan segi empat sama ([abc]) mewakili julat aksara pilihan, pendakap ({string1, string2}) mewakili rentetan pilihan, dsb.
  3. Jika terdapat tanda seru (!) pada permulaan nama, ia menunjukkan pengecualian kepada peraturan dan tidak akan diabaikan.
  4. Jika nama didahului oleh pemisah laluan (/), ini bermakna fail yang akan diabaikan berada dalam direktori ini dan fail dalam subdirektori tidak diabaikan.
  5. Jika hujung terakhir nama ialah pemisah laluan (/), ini bermakna subdirektori nama dalam direktori ini akan diabaikan, bukan fail (fail lalai dan direktori berikutnya diabaikan) .
#为注释
*.txt        #忽略所有 .txt结尾的文件,这样的话上传就不会被选中
!lib.txt    #但lib.txt除外
/temp        #进忽略项目根目录下的TODO文件,不包括其他目录temp
build/       #忽略build/目录下的所有文件
doc/*.txt    #忽略doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore kandungan fail

#java
*.class
*.log
*.lock

#Package Files #
*.jar
*.war
*.ear
target/

# idea
.idea/
*.iml

*velocity.log*

### STS ###
.apt_generated
.factorypath
.springBeans

### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/

*.log
tmp/

#rebel
*rebel.xml*

Gunakan Code Cloud

  1. Daftar dan log masuk ke Code Cloud untuk melengkapkan maklumat peribadi
  2. Tetapkan kunci awam Baoding SSH tempatan untuk mencapai log masuk tanpa kata laluan!
# 进入 C:\Userss\Administrator\.ssh 目录
# 生成公钥
ssh-keygen -t rsa

3. Tambahkan kunci awam maklumat kunci awam pada akaun awan kod!

4. Gunakan Code Cloud untuk mencipta gudang anda sendiri

Sepadukan Git dalam IDEA

1 Cipta projek baharu dan ikat git

pada alat kawalan jauh git Hanya salin direktori fail ke projek atau buatnya dalam direktori git dengan nama yang sama (fail git ialah fail git yang diklon dari jauh)

Selepas menyegarkan, idea akan muncul

2 Ubah suai fail dan gunakan IDEA untuk mengendalikan git

  • dan tambahkannya ke kawasan storan sementara git add .
  • komit penyerahan git commit
  • tolak ke gudang jauh git push

3 Hantar ujian

Cawangan Git

Arahan biasa dalam cawangan git

#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#新建一个分支,但仍然停留在当前分支
git branch [branch-name]
#新建一个分支,并切换到该分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

Pembelajaran yang disyorkan: "Tutorial Git"

Atas ialah kandungan terperinci Tiga puluh minit untuk memulakan anda dengan Git (ringkasan). 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