Menulis cerita anda sendiri dengan git

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:

Milik. Christopher Diaz Riveros

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.

Milik. Christopher Diaz Riveros

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>

Milik. Christopher Diaz Riveros

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.mdLICENSE.

Sekarang mari kita mulai berniaga, mari tulis fail 🙂 kita akan mencipta tonggak pertama dalam sejarah kita 😀:

Milik. Christopher Diaz Riveros

Secara ringkas, kami akan membuat program yang menunjukkan kepada kami jumlah argumen yang dilalui ketika melaksanakannya, sederhana 🙂

Milik. Christopher Diaz Riveros

Itu mudah 🙂 sekarang mari kita lihat arahan berguna berikut: git status

Milik. Christopher Diaz Riveros

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 🙂

Milik. Christopher Diaz Riveros

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

Milik. Christopher Diaz Riveros

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.

Milik. Christopher Diaz Riveros

Sekarang kita akan melihat sejarah projek kita dengan git log

Milik. Christopher Diaz Riveros

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:

Milik. Christopher Diaz Riveros

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:

Milik. Christopher Diaz Riveros

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.

Milik. Christopher Diaz Riveros

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

Milik. Christopher Diaz Riveros

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)

Milik. Christopher Diaz Riveros

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

Milik. Christopher Diaz Riveros

Tahniah! Sekarang perubahan anda ada di Github, tidakkah anda mempercayai saya? jom ulasnya 😉

Milik. Christopher Diaz Riveros

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


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Paul kata

    Hai ... Saya tidak tahu sama ada anda, tetapi saya tidak dapat melihat gambar dalam laporan ini ...

    salam

  2.   Paul kata

    Masalah dengan penyemak imbas saya. Maaf atas kesulitan.

  3.   Dunia Tecprog kata

    Saya masih perlu membacanya dengan lebih terperinci, saya seorang pemula.

  4.   Rang Undang-Undang kata

    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?

    1.    ChrisADR kata

      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

    2.    ChrisADR kata

      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 😉

      1.    Rang Undang-Undang kata

        Sempurna, tentu saja menjelaskan.