Mendorong dari repositori lokal ke jarak jauh yang dihosting GitHub


113

Saya membuat repositori lokal folder solusi Visual Studio 2010 saya menggunakan GUI GUI di mesin dev saya. Saya kemudian membuat repositori jarak jauh di akun GitHub saya. Sekarang, saya sedang mencari cara mendorong repositori lokal saya ke repositori jarak jauh.

Dalam SVN saya hanya dapat berkomitmen menggunakan TortoiseSVN dan perubahan didorong ke repositori jarak jauh. Saya tidak melihat alat seperti itu tersedia untuk Git.

Bagaimana cara mendorong repo lokal saya ke repo jarak jauh saya di GitHub?

Jawaban:


230

Anda mendorong repositori lokal Anda ke repositori jarak jauh menggunakan git pushperintah setelah terlebih dahulu membuat hubungan antara keduanya dengan git remote add [alias] [url]perintah. Jika Anda mengunjungi repositori Github Anda, itu akan menunjukkan kepada Anda URL yang akan digunakan untuk mendorong. Pertama-tama Anda akan memasukkan sesuatu seperti:

git remote add origin git@github.com:username/reponame.git

Kecuali Anda memulai dengan menjalankan git clonerepositori jarak jauh, dalam hal ini langkah ini telah dilakukan untuk Anda.

Dan setelah itu, Anda akan mengetik:

git push origin master

Setelah dorongan pertama Anda, Anda cukup mengetik:

git push

ketika Anda ingin memperbarui repositori jarak jauh di masa mendatang.


1
Apakah Anda benar-benar mengetik '~ origin ~' atau hanya 'origin'? Sebaiknya hindari tilde karena itu berarti bagi Git.
GoZoner

1
Bagi saya ini hanya berfungsi dengan https: github.com/username/repo.git, saya tidak tahu mengapa.
eLRuLL

7
Saya harus git pull origin masterterlebih dahulu, kemudian mendorong
Renaud

10
Mengapa mereka tidak dapat menjelaskan hal ini dalam dokumen biasa? Ini seperti ini adalah rahasia atau omong kosong. TERIMA KASIH!
R Claven

1
@RClaven, setelah Anda membuat repositori baru di Github, hal ini dijelaskan dengan jelas di layar berikutnya di bagian berlabel "Dorong repositori yang ada dari baris perintah".
mujimu

3

Tipe

git push

dari baris perintah di dalam direktori repositori


1
Saya kira itu berarti menggunakan gitbash daripada gitgui?
quakkels

Ya, jika Anda menggunakan sistem tanpa baris perintah berfitur lengkap, maka itu adalah sesuatu yang perlu disebutkan dalam pertanyaan
Gareth

tidak, saya punya itu ... Saya hanya agak terintimidasi oleh baris perintah. Terutama karena saya belum banyak menggunakannya. Ini akan membantu mengubahnya.
quakkels

Ini mungkin kurva pembelajaran yang curam tetapi pendapat umum adalah bahwa manfaatnya jauh lebih besar daripada kerugiannya
Gareth

Terima kasih. Saya tidak ingin melihat lebih lama lagi. IDE terus membeku untuk ukurannya. Terima kasih lagi.
Eric Leroy

3

Subversi secara implisit memiliki satu repositori jauh yang terkait dengan itu setiap saat. Git, di sisi lain, memungkinkan banyak "remote", yang masing-masing mewakili satu tempat jarak jauh yang dapat Anda dorong atau ditarik.

Anda perlu menambahkan remote untuk repositori GitHub ke repositori lokal Anda, lalu gunakan git push ${remote}atau git pull ${remote}untuk mendorong dan menarik masing-masing - atau GUI yang setara.

Pro Git membahas remote di sini: http://git-scm.com/book/ch2-5.html

Bantuan GitHub juga membahasnya dengan cara yang lebih "berfokus pada tugas" di sini: http://help.github.com/remotes/

Setelah Anda menghubungkan keduanya, Anda akan dapat mendorong atau menarik cabang.


1

Ini berfungsi untuk GIT versi 1.8.4 saya:

  1. Dari folder repositori lokal, klik kanan dan pilih ' Git Commit Tool '.
  2. Di sana, pilih file yang ingin Anda upload, di bawah ' Unstaged Changes ' dan klik tombol ' Stage Changed '. (Awalnya Anda dapat mengklik tombol ' Pindai Ulang' untuk memeriksa file apa yang diubah dan belum diunggah.)
  3. Tulis Pesan Komit dan klik tombol ' Komit '.
  4. Sekarang klik kanan di folder lagi dan pilih ' Git Bash '.
  5. Ketik: git push origin master dan masukkan kredensial Anda. Selesai.

0

buka command prompt Buka direktori proyek

ketik git remote add asal lokasi repositori hub git Anda dengan.git

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.