Ini adalah cara Anda membagikan pekerjaan Anda di repositori jarak jauh git



Bagikan pekerjaan lokal Anda dengan tim di repositori jarak jauh, juga pelajari cara mengelolanya sambil melacak perubahan dan tetap tersinkronisasi.

Karya Anda menambah nilai lebih saat dipublikasikan dan dibagikan dengan dunia (atau tim Anda) !!!

Mulai

Pergilah , seperti yang Anda ketahui, adalah alat pembuatan versi paling populer yang digunakan saat ini toko , jalur dan Versi: kapan apapun data .
Beberapa fitur utama dari git adalah miliknya kecepatan , didistribusikan alam, keamanan , tanpa rasa sakit percabangan dan penggabungan bersama kolaboratif bekerja di antara banyak kontributor.

Memulai diskusi kita dari sini, mari kita fokus pada bagaimana git membantu Anda berkolaborasi dan berbagi pekerjaan Anda dengan sesama sehingga semua orang dapat mengerjakan kode yang sama secara bersamaan tanpa merusak data satu sama lain.
Di sinilah konsepnya repositori jarak jauh masuklah ke dalam gambar.
Saya berasumsi bahwa Anda telah menguasai seni dari kamu direktori kerja (filesystem) ke Area pementasan dan akhirnya berkomitmen untuk Anda repositori lokal (database).

Ini menginspirasi kami untuk mendorong data kami ke tingkat berikutnya 'Repo jarak jauh' untuk menerbitkannya di repositori jarak jauh.

Bukankah data saya sudah disimpan di database git?

Ya itu! Namun, seperti yang ditunjukkan pada diagram di bawah, data Anda masih dalam database lokal setelah kamu melakukan itu dan belum dibagikan dengan kolega Anda.
Arsitektur 4 tingkat
Artikel ini mengisi kesenjangan antara mengambil data kami dari Anda repositori lokal dan membawanya ke lapisan berikutnya yang disebut repositori jarak jauh .





Apa itu repositori jarak jauh

Database informasi yang dikumpulkan disimpan di lokasi yang dapat bersama dengan rekan satu tim Anda dengan memberi mereka mengakses .
Ini idealnya di-host di awan atau di server (lokal atau jarak jauh) di internet atau jaringan lokal Anda.
Repositori jarak jauh sama seperti repositori git lokal Anda, kecuali pada umumnya ia dideklarasikan sebagai repositori kosong jadi agar tidak memiliki copy pekerjaan seperti repositori lokal Anda.
Ini dilakukan untuk membatasi perubahan langsung yang dibuat pada repositori jarak jauh.

bagan donat vs bagan pai

Repositori telanjang Konsep adalah keuntungan tambahan untuk repositori jarak jauh untuk menyimpannya terlindung dan digunakan untuk tujuan berbagi kode di antara anggota tim.
Ini dicapai dengan mendeklarasikan repositori jarak jauh sebagai kosong dengan menggunakan '--hanya'Bendera pada saat memulainya sebagai repositori git.
Dengan demikian, repo Anda dibuat dengan metadata git atau dengan kata lain objek git disimpan di bawah direktori '.git' yang tersembunyi saja dan tidak ada copy pekerjaan yang tersedia bagi siapa pun untuk menambahkan data secara langsung.
Perintah:git init --bare.

Dengan pemikiran ini, ke depan kita akan melihat lebih banyak cara untuk mengelola repo jarak jauh dan bagaimana kita menyinkronkan pekerjaan lokal kita dengan remote.



Buat repositori jarak jauh

Pertama dan terpenting, Anda perlu memutuskan di lokasi mana Anda ingin menempatkan repo jarak jauh Anda.
Ada beberapa repositori hosting git berbasis cloud yang populer seperti - GitLab , BitBucket , GitHub , Terpaksa dan CloudForge untuk beberapa nama.
Dalam posting ini, saya mempertimbangkan GitHub karena ini adalah tempat saya pertama kali mulai menyimpan repositori git saya. Untuk memulai, yang harus Anda lakukan adalah masuk ke akun GitHub lalu buat repositori baru , ini membuat URL yang mengarah ke repo jarak jauh ini.


Git mendukung protokol ssh, git, http dan https untuk menangani URL repositori.

Sebagai alternatif, Anda juga dapat menempatkan proyek Anda di tempat lain, katakan a Server Linux mengikuti perintah di bawah ini-
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Pasang remote ke komputer lokal Anda

Memasang remote ke copy pekerjaan Anda berarti membuat file penangan referensi penunjuk untuk remote atau hanya disebut ' pengendali jarak jauh '.
Mari beralih ke proyek saya yang ingin saya terbitkan-cd learnRemotes
Sintaksis:git remote add
Perintah:git remote add origin https://github.com/divyabhushan/learnRemotes.git

'Asal adalah default nama referensi untuk pengendali jarak jauh. ' (nama jarak jauh harus beberapa nama yang relevan)
Mari kita lihat apakah itu berhasil, menggunakan perintah:git remote

Itu dilakukan :)

Cetak URL jarak jauh beserta namanya:
git remote -v

Sudah selesai dilakukan dengan baik! Anda sudah siap dengan membuat koneksi ke repositori jarak jauh Anda dari direktori kerja lokal Anda.

Saatnya Publikasikan

Sintaksis:git push --all --tags[-u | --set-upstream]
Perintah:git push origin master

Jadi, Anda membaca ini sebagai 'Dorong perbedaan komitmen ke asal dari master lokal' .

Jika Anda memeriksa akun GitHub Anda, komit (data) lokal Anda harus ditampilkan di sana-



Cabang Pelacakan

Jadi, Anda telah berhasil mempublikasikan pekerjaan Anda di repositori jarak jauh.
Namun, penting bagi Anda untuk menyiapkan cabang lokal Anda jalur perubahan pada cabang jarak jauh secara otomatis.
Menggunakan '--set-upstreamatau-u'Bendera bersama dengan perintah' git push '
Perintah:git push -u master asal

cabang berkode warna


Mari kita buat lebih lanjut komit baru pada cabang 'master' dan verifikasi bagaimana git mendeteksinya-
Perintah:status git


Tampilkan cabang pelacakan dalam mode verbose
Perintah:git branch -vv


Karenanya, setiap kali, ada perbedaan dalam komit antara repositori lokal dan jarak jauh Anda di cabang yang dilacak, Git akan memberi tahu Anda.
Bukankah itu keren !!!

Bagaimana orang lain terhubung ke remote Anda?

Ini adalah sepotong kue saat Anda klon repositori jarak jauh !!!

Jadi, kloning dari repositori jarak jauh melakukan 2 hal pertama, file referensi jarak jauh ditambahkan secara otomatis, dan default kedua cabang diatur ke jalur cabang jarak jauh secara otomatis.

Langkah 1: Kloning repo jarak jauh Anda sebagai pengguna lain-
Perintah:git clone https://github.com/divyabhushan/learnRemotes.git developer2
cd developer2

Langkah 2: Tampilkan remote dan url-nya
Perintah:git remote -v


Step3: Buat daftar cabang pelacakan
Perintah:git branch -vv


Kegembiraan dimulai saat 'developer2' akan memulai pekerjaannya sendiri dan mendorong ke remote.

Anda dapat terhubung dan berkontribusi ke lebih dari satu remote repositori dari a proyek tunggal .

Lihat cabang terpencil

Perintah:git branch -r


Gunakan opsi '-a' untuk mencetak cabang lokal dan jarak jauh, coba di repo lokal Anda setelah membuat beberapa cabang lokal.

Bagaimana orang lain berkontribusi pada remote Anda?

Pengaturan awal
Pengembang2 memutuskan untuk mengubah beberapa hal seperti:
untuk. Membuat sebuah 'fitur' baru dari komit terbaru di cabang 'master' dan buat komit baru di cabang 'feature'
Perintah:
fitur git checkout -b
echo 'peningkatan fitur'> feature.txt
git add. && git commit -m 'peningkatan fitur'

b. Membuat cabang 'feature2' yang berbeda dari commit lama pada cabang 'master'
Perintah:
git checkout -b feature2 95651fb
echo 'feature2 ditambahkan'> feature2.txt
git add. && git commit -m 'Menambahkan perubahan feature2'

Mari kita visualisasikan cabang di mesin developer2 bersama dengan informasi pelacakan:

Seperti yang Anda ketahui, cabang baru tidak diatur untuk melacak cabang jauh.

Mendorong perubahan ke remote
Pertama izinkan saya mendorong cabang 'fitur' ke jarak jauh dengan bendera '–set-upstream atau -u'
Perintah:git push -u fitur asal




Sebuah cabang baru akan dibuat di remote, jika belum ada !!!

Saat ini, daftarkan cabang jarak jauh dengan perintah: 'git branch -r'




Cara lain untuk melacak cabang jarak jauh
Selanjutnya, mari kita setel cabang 'feature2' juga untuk menunjuk ke cabang 'feature' yang sama di remote
Perintah:git branch --set-upstream-to = origin / feature feature2

hashmap dan hashtable di java



cabang berkode warna


Tip cepat: Anda dapat menghilangkan nama cabang lokal jika Anda sudah berada di cabang itu, dengan kata lain, cabang lokal sudah di-check-out.

Buat daftar cabang dalam mode verbose lagi, perintah:git branch -vv



Perhatikan, kedua cabang lokal 'fitur' dan 'fitur2' menunjuk ke 'fitur' cabang jarak jauh yang sama.

Tetap tersinkronisasi dengan remote - ambil, tarik, dan dorong

Mari kita pertimbangkan bagian di mana cabang jarak jauh Anda melacak telah diperbarui, lalu apa?
'Sederhanastatus git'Atau'git checkout'Atau bahkan'git branch -vv'Perintah memperingatkan kita dengan ketidakcocokan-



'Pengembang2' harus terlebih dahulu memperbarui referensi dan objek lokal (' git fetch ') Dan kemudian menggabungkan perubahan jarak jauh dan lokal (' git merge ').
Menariknya, Anda dapat mengganti kedua perintah ini dengan satu perintah 'git pull'.
Sintaksis:Pergilah Tarik

–Untuk cabang yang tidak terlacak
Sintaks: git pull [:]
Perintah:fitur asal git pull: feature2

–Untuk cabang yang dilacak
Sintaks: git pull
Perintah:git pull




=> Dalam praktiknya, mungkin ada konflik yang timbul pada tahap ini ketika Anda menarik dari jarak jauh untuk kesederhanaan Saya telah menghasilkan perubahan komit tanpa konflik.

Setelah 'developer2' menarik (mengambil dan menggabungkan), perubahan terbaru jarak jauh sekarang harus menerbitkan karyanya sendiri-
Perintah:git push asal HEAD: fitur
Catatan: 'fitur' cabang hulu tidak cocok dengan nama 'fitur2' cabang lokal, Anda harus menyediakannya secara eksplisit



Peringatan : ‘HEAD’ adalah komit terbaru di cabang ‘feature2’ lokal.

Kapan menggunakan 'git fetch'?
Pada saat Anda hanya perlu memperbarui kepala referensi tanpa benar-benar mengunduh (menarik) dari remote.
Atau ketika cabang jarak jauh telah dimodifikasi / dihapus saat diperbarui, Anda harus menjalankan perintah fetch dengan '--memangkas' pilihan.
Sebagai praktik terbaik, Anda harus menjalankan perintah 'git fetch' setiap kali Anda mulai mengerjakan repo lokal.

manajemen jarak jauh

Terakhir, Anda ingin melakukan beberapa tugas rumah tangga seperti mengganti nama atau menghapus remote dan cabang.
Ini sama pentingnya dengan perintah sebelumnya.

Ganti nama remote

Sintaksis:git remote rename
Perintah:git remote ganti nama snv_repo svn
Misalnya, pertimbangkan manajer proyek yang terkait dengan 3 proyek-


Hapus referensi jarak jauh

Misalkan Anda tidak lagi sinkron dengan repositori jarak jauh, kemungkinan besar Anda akan menghapus referensi penunjuk ke sana.
Namun, ini tidak akan memengaruhi repositori jarak jauh dan pekerjaan lain.

Sintaksis:git remote remove
Perintah:git remote menghapus proj1


Bagaimana jika Anda memiliki cabang lokal yang disetel untuk melacak cabang dari repositori 'proj1' yang dihapus?
Nah, Anda cabang lokal (dan karenanya pekerjaannya) adalah aman dan masih ada, hanya itu referensi pelacakan jarak jauh dan konfigurasi pengaturan akan dihapus otomatis

Hapus cabang jarak jauh

Katakan kamu secara tidak sengaja mendorong Anda pribadi pekerjaan kasar pada a cabang ke remote tetapi tidak ingin orang lain memeriksanya -
Hapus cabang 'unfinishedWork' dari remote 'svn'-
Perintah:git branch -vv#Daftar cabang pelacak jarak jauh



Sintaksis:git push --delete
Perintah:git push --delete svn unfinishedWork

string di java tidak bisa diubah


Berliku

Dengan ini, kita sampai pada akhir artikel ini. Jika Anda menemukan ' Tutorial 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Pelatihan Sertifikasi DevOps Edureka membantu pelajar mendapatkan keahlian dalam berbagai proses dan alat DevOps seperti Puppet, Jenkins, Nagios, dan GIT untuk mengotomatiskan beberapa langkah di SDLC.