Rumah  >  Artikel  >  alat pembangunan  >  Ringkasan terperinci! Operasi biasa Git

Ringkasan terperinci! Operasi biasa Git

WBOY
WBOYke hadapan
2022-03-02 17:51:351626semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Git Terutamanya meringkaskan isu operasi biasa, termasuk membuat gudang, melihat fail, menambah fail, mengalih keluar fail, mengubah suai kandungan, dsb. Soalan, harap ia membantu semua orang.

Ringkasan terperinci! Operasi biasa Git

Pembelajaran yang disyorkan: "Tutorial Git"

1 Cipta repositori Git

Buka diperlukan Untuk mencipta lokasi gudang, buka antara muka perintah Git atau masukkan Terminal untuk mencipta gudang. git init
Ringkasan terperinci! Operasi biasa Git Selepas penciptaan selesai, anda akan digesa
Gudang Initialized empty Git repository in /Users/huaqiangsun/Git/.git/ kosong telah dimulakan dalam direktori semasa, dan anda boleh melihat folder Git tambahan dalam direktori ( biasanya folder tersembunyi, Di bawah Mac, anda boleh menggunakan kombinasi kekunci pintasan .git untuk melihat fail tersembunyi). shift cmd .

2. Semak status fail gudang

Apabila menyebut

, konsep Git ruang kerja, kawasan pementasan dan pustaka versi sering disebut istilah yang sangat biasa. , sebenarnya, ruang kerja secara amnya merujuk kepada direktori di mana fail yang boleh kita lihat dan fail operasi setempat terletak di sini dibahagikan kepada fail terkawal versi dan fail yang tidak berada di bawah kawalan versi. Apabila

menyebut kawasan pementasan, ia disambungkan ke fail

Fail baharu dalam ruang kerja dan fail yang telah diubah suai dan berada di bawah kawalan versi boleh ditambah ke kawasan pementasan menggunakan index, yang bersamaan dengan Daftar dan berikan nama anda Apabila menyerahkan kepada repositori pada masa hadapan, anda akan membawa semua fail yang didaftarkan, sebenarnya, fail yang melaksanakan perintah git add file_name akan menghasilkan objek objek yang sepadan dan meletakkannya dalam <. direktori> Status akan berubah Untuk git add, cawangan akan merujuk objek ini apabila melakukan repositori. .git/objectsstagedRepositori ialah destinasi untuk pengubahsuaian fail Pengubahsuaian akhir akan diserahkan kepada repositori Pada masa ini, status fail yang diserahkan menjadi

, yang sebenarnya merupakan status

repositori akan merekodkannya Setiap kali anda menyerahkan, anda boleh mengesan kandungan setiap pengubahsuaian yang anda buat. committedunmodifiedStatus fail biasanya boleh dibahagikan kepada:

bukan di bawah kawalan versi
    status;
  • untrackeddi bawah kawalan versi dan diubah suai
  • Status ;
  • modified
  • status yang telah diubah suai di bawah kawalan versi dan diserahkan kepada kawasan pementasan;
  • status yang telah dihantar dari kawasan pementasan ke gudang tempatan; > stagedStatus
  • diserahkan kepada gudang tempatan tanpa pengubahsuaian atau diklon dari gudang jauh
  • committed
  • Gunakan unmodified untuk melihat pengubahsuaian fail dan fail tidak komited dalam semasa; gudang .
Antaranya,

git status
Ringkasan terperinci! Operasi biasa Git
merupakan fail yang sudah wujud di dalam kawasan simpanan sementara dan perlu diserahkan ke gudang

    Fail yang belum dihantar ke kawasan pementasan adalah fail yang telah dimanipulasi perlu ditambah ke kawasan cache menggunakan
  • dan kemudian diserahkan ke gudang; >Changes to be committed ialah fail yang belum dimasukkan ke dalam kawasan pementasan; dalam kawasan storan bukan sementara dan perlu ditambahkan ke kawasan storan sementara sekali lagi
  • kawasan, jika tidak, fail dalam gudang selepas
  • tidak akan mengandungi kandungan pengubahsuaian sekunder. Changes not staged for commitadd
  • Ringkasan
  • Untracked files

Anda hanya boleh melihat bilangan penyerahan yang belum dihantar, tetapi bukan maklumat fail tertentu; >addAnda hanya boleh melihat penerangan/arahan penyerahan yang belum dihantar; commit

boleh melihat maklumat terperinci tentang penyerahan yang belum dihantar; kawasan pementasan Tambah fail dalam Gunakan

untuk menambah fail pada kawasan pementasan.
    Jika tiada mesej digesa, ini bermakna fail telah berjaya ditambahkan.
  • git statusUntuk menambah fail, anda perlu mengisi laluan fail yang betul Jika anda perlu menambah berbilang fail, gunakan ruang untuk memisahkannya.
  • 4. Hantar fail dalam kawasan pementasan git cherry -v
  • Gunakan
  • untuk menghantar fail yang telah ditambahkan ke kawasan pementasan boleh dihantar untuk setiap penyerahan. git log master ^origin/master
  • 5. Keluarkan fail dari gudang
Apabila memadamkan fail yang telah dihantar ke gudang daripada cakera, kerana fail itu masih wujud dalam cache gudang, gunakan

untuk memadam ia daripada cache Fail tidak lagi akan disertakan dalam pengurusan versi selepas penyerahan.

Jika operasi semasa adalah kesilapan, anda boleh mendapatkan semula fail melalui operasi rollback. git add [fileName ...]

Jika anda ingin memadam fail yang telah diubah suai sebelum ini atau telah diletakkan di kawasan storan sementara, anda mesti menggunakan parameter pilihan pemadaman paksa -f.

Jika beberapa fail yang tidak diperlukan diserahkan ke gudang kerana salah operasi, anda boleh menggunakan --cached untuk memadam hanya rekod dalam gudang tanpa memadamkannya daripada cakera.

git rm Nama fail atau direktori boleh disenaraikan selepas arahan, atau corak glob boleh digunakan. Contohnya: git rm log/*.log.

Perhatikan garis miring ke belakang * sebelum asterisk Kerana Git mempunyai kaedah pemadanan corak fail sendiri, tidak perlu shell untuk membantu mengembangkan. Perintah ini memadamkan semua fail dengan sambungan log/ dalam direktori .log.

6. Tetapkan abaikan fail

Untuk sesetengah fail log, fail sementara dan fail konfigurasi atau output yang dijana oleh sesetengah perisian, pengurusan fail tidak diperlukan, jadi anda boleh mencipta fail .gitignore. Nama atau ungkapan fail yang diabaikan ditulis ke dalam fail .gitignore untuk mencapai tujuan mengabaikan fail. Spesifikasi format

fail .gitignore adalah seperti berikut:

  • Semua baris atau baris kosong bermula dengan # akan diabaikan oleh Git.
  • boleh menggunakan padanan corak glob standard, yang akan digunakan secara rekursif di seluruh ruang kerja.
  • corak padanan boleh bermula dengan (/) untuk mengelakkan pengulangan.
  • Corak padanan boleh menentukan direktori yang berakhir dengan (/).
  • Untuk mengabaikan fail atau direktori di luar corak yang ditentukan, anda boleh menafikannya dengan menambahkan tanda seru (!) sebelum corak.

git turut menyokong mod Glob, iaitu ungkapan biasa yang dipermudahkan dalam Glob. Shell

    Asterisk (
  • ) sepadan dengan sifar atau lebih daripada mana-mana aksara; *
  • sepadan dengan mana-mana aksara yang disenaraikan dalam kurungan segi empat sama (contoh ini sepadan dengan sama ada a, sama ada sepadan dengan a b atau c); [abc]
  • Tanda soal (
  • ) hanya sepadan dengan satu aksara arbitrari ? Jika tanda sempang digunakan untuk memisahkan dua aksara dalam kurungan segi empat sama, ia bermakna semua Apa-apa sahaja dalam dua julat aksara ini; boleh dipadankan (contohnya, [0-9] bermaksud memadankan semua nombor dari 0 hingga 9).
  • Gunakan dua asterisk (
  • ) untuk memadankan mana-mana direktori perantaraan Contohnya, a/**/z boleh memadankan a/z, a/b/z atau a/b/c/z, dsb. . **

Langkah-langkah untuk pengesahan fail adalah seperti berikut: .gitignore

  • // Semak status dan sahkan sama ada fail yang diabaikan telah disertakan git status --ignored

  • // Kosongkan cache, -r bermaksud pemadaman rekursif git rm -r --cached .

  • // Semak kesan khusus git status --ignored

  • // Jejak semula failgit add .

  • // Serah dan komen git commit -m "update .gitignore"

7. Lihat kandungan pengubahsuaian Fail

Menggunakan

hanya boleh melihat status pengubahsuaian setiap fail, tetapi anda tidak dapat melihat kandungan setiap fail yang telah diubah suai, jadi anda boleh menggunakan git status untuk melihat perbandingan pengubahsuaian semua fail penjejakan . git diff
Ringkasan terperinci! Operasi biasa Git Perlu diingat bahawa
digunakan untuk melihat kandungan yang diubah suai dalam fail tidak berperingkat Sebaik sahaja fail itu ditambahkan ke kawasan berperingkat, anda tidak lagi boleh melihat pengubahsuaian melalui git diff Kandungan , perlu menggunakan git diff. git diff --cached

8. Alihkan fail

Apabila anda perlu menamakan semula fail, anda boleh menggunakan

. git mv [oldFileName] [new FileName]Operasi penamaan semula akan dibahagikan kepada tiga langkah Langkah pertama ialah menamakan semula fail, kemudian memadam fail asal dari gudang, dan akhirnya menambah fail baharu ke kawasan storan sementara untuk menunggu penyerahan. Git

$ mv README.md LOOKME.md
$ git rm README.md
$ git add LOOKME.md
Jika anda mengubah suai fail secara berkelompok melalui perisian, anda juga mesti mengikuti proses ini untuk memadamkan fail asal dahulu dan kemudian menambah fail baharu.

9. Buat asal operasi

Apabila kandungan fail diserahkan atau diubah suai disebabkan oleh beberapa ralat operasi, anda boleh menggunakan

operasi rollback untuk kembali ke keadaan sebelum pengubahsuaian. Git

Imbas kembali status fail yang dinyatakan sebelum ini Status fail biasanya boleh dibahagikan kepada:

    tidak di bawah kawalan versi
  • status;untracked
  • di bawah kawalan versi Dan. Status
  • telah diubah suai; modified
  • telah diubah suai dan diserahkan kepada kawasan pementasan di bawah kawalan versi
  • status staged
  • telah diserahkan dari kawasan pementasan ke gudang tempatan
  • Status; committed
  • Dihantar ke repositori tempatan tanpa pengubahsuaian atau diklon dari repositori jauh
  • Status unmodified
    Ringkasan terperinci! Operasi biasa Git
9.1 Membuat asal fail kawasan pementasan

Gunakan

atau git restore --staged [fileName] untuk memulihkan fail dalam kawasan pementasan. git reset HEAD [fileName]

Penerangan: Perintah git restore baru ditambahkan selepas versi Git 2.23 Ia digunakan untuk berkongsi fungsi perintah git checkout Dengan menimpa pengubahsuaian fail tempatan dengan fail dalam kawasan pementasan atau pustaka versi, Untuk mencapai tujuan mengembalikan pengubahsuaian, anda juga boleh menggunakan fail dalam repositori untuk menulis ganti fail dalam kawasan storan sementara untuk melancarkan perintah git add.

!! Ambil perhatian bahawa operasi ini tidak akan menjejaskan rekod cawangan, ia bersamaan dengan perintah git checkout sebelumnya untuk menyemak semula fail untuk menulis ganti pengubahsuaian setempat.

git reset sebenarnya digunakan untuk menetapkan titik kepala cawangan Selepas membuat beberapa siri penyerahan, tiba-tiba saya mendapati terdapat masalah dengan penyerahan baru-baru ini dan ingin memadamkannya daripada penyerahan. rekod. Ya, perintah git reset akan digunakan diikuti oleh commit id, yang bermaksud bahawa cawangan semasa digulung semula ke keadaan yang sepadan dengan rekod log berikutnya. Status fail dalam ruang kerja bergantung pada parameter yang akan dipulihkan kepada keadaan yang berbeza. commit id

  • : Pengubahsuaian versi yang telah digulung semula akan diletakkan di kawasan pementasan dan boleh diserahkan semula. --soft

  • : Pilihan lalai, perubahan pada versi yang digulung semula akan diletakkan dalam direktori kerja ia boleh ditambahkan ke kawasan pementasan dahulu dan kemudian diserahkan. --mixed

  • : Perubahan dalam versi gulung belakang akan dibuang terus, seolah-olah ia tidak pernah datang. --hard

Gunakan perintah

untuk melancarkan semula fail ke keadaan yang sepadan dengan versi yang ditunjukkan oleh git rest HEAD file_name, yang sebenarnya ialah keadaan dalam pustaka versi semasa, iaitu setara dengan pemulihan. HEAD

Untuk fail dalam ruang kerja yang belum ditambahkan pada kawasan pementasan dan repositori, anda boleh memulihkannya melalui kaedah berikut selepas melakukan operasi

: git add

  • git rm --cached newfile
  • git restore --staged newfile
  • git reset HEAD newfile

Nota: Apabila menggunakan dua arahan terakhir, ia tidak boleh menjadi fail pertama dalam repositori.

9.2 Buat asal pengubahsuaian pada fail

Gunakan

untuk melancarkan semula fail ke keadaan terakhir diserahkan. git checkout -- [fileName]

! Nota: Ingat bahawa

adalah perintah yang berbahaya. Sebarang pengubahsuaian setempat yang anda buat pada fail itu akan hilang. git checkout -- <file></file> akan menimpanya dengan versi yang paling baru dilakukan. Jangan gunakan arahan ini melainkan anda tahu pasti bahawa anda tidak mahu membuat pengubahsuaian setempat pada fail tersebut. Git

Pernyataan: Memandangkan fail yang belum ditambahkan pada kawasan pementasan tidak dapat dikesan, sebarang pengubahsuaian padanya tidak boleh ditarik balik! Ini hanya boleh dilakukan melalui operasi buat asal fail tempatan.

10 Lihat sejarah operasi

Jika anda ingin melihat semua maklumat penyerahan dalam projek, anda boleh menggunakan

untuk mencetak rekod penyerahan semua peserta. git log

Setiap rekod akan memaparkan pengesahan

yang diserahkan, nama pengarang dan alamat e-mel serta masa penyerahan, disusun mengikut urutan terbalik masa penyerahan. SHA-1
Ringkasan terperinci! Operasi biasa Git Selain
yang ringkas, anda juga boleh menambah parameter untuk menapis dan memformat maklumat output: git log

  • : Ia akan dipaparkan setiap Perbezaan yang diperkenalkan oleh komit. Ia juga mungkin untuk mengehadkan bilangan entri log yang dipaparkan, contohnya menggunakan pilihan -2 untuk hanya memaparkan dua komit terkini. -p --patch
    Ringkasan terperinci! Operasi biasa Git

  • : Senaraikan semua fail yang diubah suai, bilangan fail yang telah diubah suai dan bilangan fail yang diubah suai di bawah setiap penyerahan Baris yang telah dialih keluar atau ditambah. Terdapat juga ringkasan pada akhir setiap penyerahan. --stat
    Ringkasan terperinci! Operasi biasa Git

  • : Pilihan ini mempunyai beberapa sub-pilihan terbina dalam untuk anda gunakan. Contohnya, --pretty akan memaparkan setiap penyerahan pada satu baris, yang sangat berguna apabila menyemak imbas sebilangan besar penyerahan. Terdapat juga pilihan oneline, short dan full, yang memaparkan maklumat dalam format yang sama, tetapi dengan tahap perincian yang berbeza fuller
    Ringkasan terperinci! Operasi biasa Git Gunakan
    untuk menyesuaikan format pencetakan; . Maklumat format yang biasa digunakan adalah seperti berikut: formart
    Ringkasan terperinci! Operasi biasa Git

示例 10.1 将日志信息显示在一行上

$ git log --pretty=oneline

Ringkasan terperinci! Operasi biasa Git

示例 10.2 以 short 格式输出仓库修改信息

$ git log --pretty=short

Ringkasan terperinci! Operasi biasa Git

示例 10.3 以 full 格式输出仓库修改信息

$ git log --pretty=full

Ringkasan terperinci! Operasi biasa Git

示例 10.4 以 fuller 格式输出仓库修改信息

$ git log --pretty=fuller

Ringkasan terperinci! Operasi biasa Git
修改文件人员与提交文件人员可以不是同一个人,所以在查询日志时会区分修改人与提交人。

推荐学习:《Git学习教程

Atas ialah kandungan terperinci Ringkasan terperinci! Operasi biasa Git. 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