Halo semua 🙂 Sebelum meneruskan teks senarai pesanan, saya ingin meraikan pembebasan git 2.16 dengan mengucapkan terima kasih kepada setiap orang yang menghantar tampalan dan setiap pengguna, secara keseluruhan kami mempunyai 4000 baris antara kemas kini dan pembetulan , yang tidak begitu mementingkan versi pertama saya, tetapi ia menunjukkan kebaikan anda 🙂 Terima kasih! Sekarang, saya akan memberitahu anda sedikit rahsia, hingga sekarang belum ada masanya saya tidak duduk menulis artikel dan banyak memikirkannya, biasanya saya hanya menulis berturut-turut, dan kemudian kadal yang baik mengambil kebaikan betulkan kesalahan menaip saya 🙂 jadi terima kasih juga kepadanya.
Ini bukan yang terbaik ketika kita berbicara mengenai penulisan artikel, kononnya ia harus mempunyai objektif dan membina struktur, dan menandakan perkara kecil dan ulasan dan lain-lain dan lain-lain ... Sekarang, ini tidak hanya berlaku untuk blog secara umum, tetapi penting dalam perisian yang berpura-pura baik 🙂 Untuk tugas ini, dan setelah beberapa masalah dengan perisian kawalan versi yang digunakan dalam pengembangan kernel beberapa tahun yang lalu, ia dilahirkan git
(I.e.
Tempat belajar git
?
Jumlah dokumentasi di sekitar git mengejutkan, walaupun kita hanya mengambil halaman manual yang disertakan dengan pemasangan, kita akan mempunyai banyak bacaan. Saya secara peribadi menjumpai buku git dirancang dengan cukup baik, walaupun saya telah menterjemahkan beberapa bahagian bahagian 7, saya masih mempunyai beberapa, tetapi beri saya masa 😛 mungkin pada bulan ini saya dapat menterjemahkan apa yang tinggal dari bahagian itu.
Apa yang dilakukan oleh git?
Git direka untuk menjadi cepat, cekap, sederhana dan untuk menyokong banyak maklumat, bagaimanapun, komuniti kernel membuatnya untuk perisian mereka, yang merupakan salah satu gabungan perisian bebas terbesar di dunia dan mempunyai ratusan sumbangan per jam dalam pangkalan kod yang melebihi satu juta baris.
Perkara yang menarik mengenai git adalah cara mengekalkan versi data. Pada masa lalu (program kawalan versi lain) mengambil kompres semua fail yang ada pada titik sejarah, seperti membuat a sandaran. Git mengambil pendekatan yang berbeza, ketika melakukan a commit
titik dalam sejarah ditandakan, titik dalam sejarah mempunyai serangkaian pengubahsuaian dan karya, pada akhirnya, semua pengubahsuaian disatukan dari masa ke masa dan fail diperoleh untuk dapat memampatkan atau menandakan sebagai tonggak versi. Oleh kerana saya tahu ini semua terdengar rumit, saya akan membawa anda melakukan perjalanan ajaib dalam contoh yang sangat asas.
Projek perhitungan kecil
Pengiraan akan menjadi program yang akan menjumpai kuadrat nombor tertentu, kami akan melakukannya dalam C dan semudah mungkin, jadi jangan mengharapkan banyak pemeriksaan keselamatan daripada saya. Mula-mula kita akan membuat repositori, saya akan melakukannya dengan Github untuk membunuh dua burung dengan satu batu:
Kami telah menambahkan beberapa perkara mudah seperti lesen (sangat penting jika anda ingin melindungi pekerjaan anda, dalam kes saya, memaksa mereka untuk berkongsi hasilnya jika mereka ingin menggunakannya sebagai asas: P)
Sekarang mari kita pergi ke terminal yang kita sayangi, git clone
adalah arahan yang bertanggungjawab untuk memuat turun repositori yang terletak di url
ditugaskan dan membuat salinan tempatan di komputer kami.
Sekarang mari kita periksa git log
apa yang berlaku dalam sejarah projek kami:
Di sini kita mempunyai banyak maklumat dalam pelbagai warna 🙂 mari cuba menerangkannya:
garis kuning pertama adalah "kod bar komit" setiap komit mempunyai pengecam uniknya sendiri, dengan mana anda boleh melakukan banyak perkara, tetapi kami akan menyimpannya untuk kemudian. Sekarang kita ada HEAD
celeste dan master
hijau. Ini adalah "petunjuk" fungsi mereka adalah untuk menunjukkan lokasi semasa sejarah kita (HEAD
) dan cawangan yang kami kerjakan di komputer kami (master
).
origin/master
adalah rakan sejawat internet, origin
adalah nama lalai yang telah diberikan kepada kami URL
, Dan master
adalah cabang di mana anda bekerja ... untuk memastikannya mudah, mereka yang mempunyai /
adalah yang tidak ada dalam pasukan kami, tetapi merujuk kepada apa yang ada di internet.
Kemudian kita mempunyai pengarang, tarikh dan masa dan ringkasan komitmen. Ini adalah tinjauan kecil mengenai apa yang telah terjadi pada masa itu dalam sejarah, sangat penting dalam banyak projek dan terdapat banyak maklumat yang dikutuk. Mari kita lihat dengan lebih dekat apa yang berlaku dalam komit dengan perintah git show <código-de-commit>
Perintah git show membawa kita ke layar ini dalam format tampalan, di mana anda dapat melihat apa yang telah ditambahkan dan apa yang telah dihapus (jika sesuatu telah dihapus) pada masa itu dalam sejarah, setakat ini hanya menunjukkan kepada kita rekod .gitignore
,README.md
y LICENSE
.
Sekarang mari kita mulai berniaga, mari tulis fail 🙂 kita akan mencipta tonggak pertama dalam sejarah kita 😀:
Secara ringkas, kami akan membuat program yang menunjukkan kepada kami jumlah argumen yang dilalui ketika melaksanakannya, sederhana 🙂
Itu mudah 🙂 sekarang mari kita lihat arahan berguna berikut: git status
Beberapa jiwa yang baik hati telah menerjemahkan git untuk membuatnya mudah diikuti, di sini kami mempunyai banyak maklumat berguna, kami tahu bahawa kami berada di cabang induk, yang kami perbarui dengan origin/master
(cawangan Github), kami mempunyai fail yang tidak dilacak! dan untuk menambahkannya kita harus menggunakan git add
, mari cuba 🙂
Sekarang kita mempunyai ruang hijau baru, di mana fail yang telah kita tambahkan ke kawasan kerja ditampilkan. Di tempat ini kita dapat mengelompokkan perubahan kita untuk dapat membuat komitmen, komitmen terdiri dari tonggak sepanjang sejarah projek kita, kita akan membuat komitmen 🙂 git commit
Dijelaskan secara ringkas, garis kuning adalah tajuk komitmen kami, saya menulis main.c untuk rujukan visual semata-mata. Teks hitam adalah penjelasan mengenai perubahan yang dilakukan sejak komit sebelumnya hingga sekarang 🙂 kami menyimpan fail dan kami akan melihat komit kami disimpan di dalam pendaftaran.
Sekarang kita akan melihat sejarah projek kita dengan git log
Sekali lagi di dalam log, sekarang kita dapat melihat bahawa garis hijau dan merah telah berbeza, ini kerana di komputer kita, kita salah satu di atas yang tersimpan di internet 🙂 kita akan meneruskan kerja, misalkan sekarang saya ingin menunjukkan mesej sekiranya pengguna meletakkan lebih dari satu argumen dalam program (yang akan membuat kalkulator keliru 🙂)
Seperti yang kita lihat, program kita telah berkembang pesat 😀, sekarang kita mempunyai fungsi imprimir_ayuda()
yang memaparkan mesej mengenai cara menggunakan pengiraan, dan di blok main()
sekarang kami melakukan tinjauan dengan if
(Sesuatu yang akan kita lihat dalam tutorial pengaturcaraan pada waktu yang lain, buat masa ini hanya perlu diketahui bahawa jika lebih dari 2 argumen dimasukkan ke dalam kalkulator, program tersebut akan berakhir dan pertolongannya ditampilkan. Mari jalankan:
Seperti yang anda lihat, sekarang ia mencetak nombor yang telah disampaikan dan bukannya jumlah argumen, tetapi saya tidak pernah memberitahu anda sebelumnya 🙂 untuk yang ingin tahu echo $?
menunjukkan kod keluar dari program terakhir yang dilaksanakan, iaitu 1
kerana ia telah berakhir dengan kesilapan. Sekarang mari kita kaji bagaimana kisah kita:
Sekarang kita tahu bahawa kita 1 komited di hadapan Github, bahawa failnya main.c
telah diubah suai, mari buat komit seterusnya dengan melakukan git add main.c
dan kemudian git commit
(I.e.
Sekarang kami sedikit lebih spesifik, kerana kami telah melaksanakan fungsi dan mengubah kod pengesahan. Setelah disimpan, kami akan mengkaji perubahan terakhir kami. Kita boleh melihatnya git show HEAD
Sekarang anda dapat melihat garis merah dan hijau, kami telah menambah perpustakaan stdlib.h
, mengubah banyak kod dan menambahkan fungsi ke dalam cerita kami.
Sekarang kita akan melihat log: (git log
)
Kita dapat melihat bahawa kita dua komited menjelang versi Github, kita akan sedikit sebanyak menyamakan penanda 🙂 untuk itu kita gunakan git push origin master
Dengan ini kami katakan, hantarkan komit saya ke url origin
di dahan master
Tahniah! Sekarang perubahan anda ada di Github, tidakkah anda mempercayai saya? jom ulasnya 😉
Sekarang kita mempunyai 3 komit pada Github 🙂
Ringkasan
Kami telah menyentuh aspek yang paling asas git
, sekarang mereka dapat membuat aliran kerja yang sederhana dalam projek mereka, ini hampir tidak dapat dilakukan dengan pelbagai jenis perkara yang dapat dilakukan dengan git, tetapi sudah tentu ini adalah perkara yang paling praktikal dan sehari-hari bagi pembangun atau blogger. Kami belum sampai ke penghujung kalkulator, tetapi kami akan meninggalkannya untuk waktu yang lain 😉 Terima kasih banyak kerana sampai di sini dan saya harap ini dapat membantu anda untuk mengambil bahagian dalam beberapa projek 😀 Salam
Hai ... Saya tidak tahu sama ada anda, tetapi saya tidak dapat melihat gambar dalam laporan ini ...
salam
Masalah dengan penyemak imbas saya. Maaf atas kesulitan.
Saya masih perlu membacanya dengan lebih terperinci, saya seorang pemula.
Artikel yang bagus untuk bermula dengan git, walaupun saya mengesyorkan mengambil nota untuk memahami perinciannya.
Beberapa perkara belum jelas bagi saya:
apakah pilihan untuk Tambah .gitignore Cwalaupun saya rasa saya akan melihatnya semasa saya mempraktikkannya,
mengapa git add main.c harus dilakukan lagi sebelum git komit seterusnya, adakah add main.c memberitahu git untuk membandingkan fail tersebut dengan versi rangkaian? Tidak secara automatik membandingkan semua fail yang ditambahkan untuk dijejaki?
Helo Guillermo 🙂 bagus kerana anda menganggapnya berguna, untuk menjawab soalan anda:
.gitignore adalah fail yang memberitahu git format atau corak mana yang harus diabaikan, dalam hal ini memilih C menyebabkan fail .o diabaikan dan lain-lain yang dihasilkan pada waktu penyusunan, yang bagus kerana jika tidak, git anda akan menjadi gila serta-merta setiap kompilasi dan tindak lanjut 🙂 anda boleh menyemak sebilangan besar format yang tidak ada dalam templat C dengan melakukan cat atau dengan penyunting teks.
Walaupun git akan melacak setiap fail yang ditambahkan ke pohon kerja, perlu memilih secara khusus fail mana yang akan dimasukkan ke dalam komit berikutnya, untuk memberi anda contoh, mari kita anggap bahawa karya anda telah menyebabkan anda mengubah 5 fail yang berbeza sebelum ini dapat melihat hasilnya. Sekiranya anda ingin menjadi lebih spesifik dan menerangkan apa yang dilakukan dalam setiap satu, anda boleh melakukan git add file1; git komit; git tambah fail2; git komit… .3,4,5; git komit. Dengan cara ini kisah anda bersih dan perubahannya dapat ditentukan dengan baik. Sekiranya anda perlu mengubah sesuatu, atau mengembalikan (topik yang lebih maju) anda boleh mengembalikan perkara tertentu atau menambahkan perkara tertentu tanpa mengubah yang lain.
Semoga dapat membantu 🙂 salam dan terima kasih kerana bertanya
PS: git add tidak mengatakan untuk membandingkan dengan versi di rangkaian, tetapi dengan komitmen sebelumnya dalam barisan kerja anda, jika sudah bersifat lokal (hijau) ia akan membandingkannya dengan yang sebelumnya, jika sudah jauh (merah) ia akan bandingkan dengan yang lain. Hanya untuk menjelaskan 😉
Sempurna, tentu saja menjelaskan.