Ok, setelah melihat posting ini oleh PJ Hyett , saya telah memutuskan untuk melewatkan sampai akhir dan pergi dengan Git .
Jadi yang saya butuhkan adalah panduan praktis pemula untuk Git. "Pemula" didefinisikan sebagai seseorang yang tahu bagaimana menangani kompiler mereka, memahami sampai tingkat tertentu apa itu Makefile , dan telah menyentuh kontrol sumber tanpa memahaminya dengan baik.
"Praktis" didefinisikan sebagai orang ini tidak ingin masuk ke detail besar tentang apa yang dilakukan Git di latar belakang, dan bahkan tidak peduli (atau tahu) bahwa itu didistribusikan. Jawaban Anda mungkin mengisyaratkan kemungkinan, tetapi cobalah untuk mengarahkan pemula yang ingin menyimpan repositori 'utama' di 'server' yang didukung dan aman, dan perlakukan repositori lokal mereka hanya sebagai sumber daya 'klien'.
Begitu:
Instalasi / Pengaturan
- Cara menginstal Git
- Bagaimana Anda mengatur Git? Cobalah untuk membahas Linux, Windows, Mac, pikirkan pola pikir 'klien / server'.
- Bagaimana Anda membuat proyek / repositori baru?
- Bagaimana Anda mengonfigurasinya untuk mengabaikan file (.obj, .user, dll) yang sebenarnya bukan bagian dari basis kode?
Bekerja dengan kode
- Bagaimana Anda mendapatkan kode terbaru?
- Bagaimana Anda memeriksa kode?
- Bagaimana Anda melakukan perubahan?
- Bagaimana Anda melihat apa yang tidak dikomit, atau status basis kode Anda saat ini?
- Bagaimana Anda menghancurkan komitmen yang tidak diinginkan?
- Bagaimana Anda membandingkan dua revisi file, atau file Anda saat ini dan revisi sebelumnya?
- Bagaimana Anda melihat riwayat revisi suatu file?
- Bagaimana Anda menangani file biner (visio docs, misalnya, atau lingkungan kompiler)?
- Bagaimana Anda menggabungkan file yang diubah pada "waktu yang sama"?
- Bagaimana Anda membatalkan (mengembalikan atau mereset) komit?
Penandaan, percabangan, rilis, baseline
- Bagaimana Anda 'menandai' 'tag' atau 'merilis' set revisi tertentu untuk set file tertentu sehingga Anda selalu dapat menariknya nanti?
- Bagaimana Anda menarik 'rilis' tertentu?
- Bagaimana Anda bercabang?
- Bagaimana Anda menggabungkan cabang?
- Bagaimana Anda menyelesaikan konflik dan menyelesaikan penggabungan?
- Bagaimana Anda menggabungkan bagian dari satu cabang ke cabang lain?
- Apa itu rebasing?
- Bagaimana cara melacak cabang jarak jauh?
- Bagaimana saya bisa membuat cabang di repositori jarak jauh?
- Bagaimana cara saya menghapus cabang pada repositori jarak jauh?
- Git contoh alur kerja
Lain
- Jelaskan dan tautkan ke GUI yang baik, plugin IDE, dll. Yang menjadikan Git sebagai sumber daya baris non-perintah, tapi harap cantumkan batasannya dan juga bagusnya.
- msysgit - Lintas platform, termasuk dengan Git
- gitk - Penampil riwayat lintas platform, disertakan dengan Git
- gitnub - Mac OS X
- gitx - penampil riwayat Mac OS X
- smartgit - Lintas platform, komersial, beta
- tig - konsol GUI untuk Linux
- qgit - GUI untuk Windows, Linux
- Ekstensi Git - paket untuk Windows, termasuk GUI yang ramah
- Adakah tugas umum lainnya yang harus diketahui pemula?
- Bagaimana cara saya bekerja secara efektif dengan repositori subversi yang ditetapkan sebagai sumber kendali sumber saya?
Referensi pemula Git lainnya
- Panduan Git
- Buku git
- Git magic
- gitcasts
- Panduan GitHub
- Git tutorial
- Progit - buku karya Scott Chacon
- Git - SVN Crash Course
- Git dari bawah ke atas
- Sudah siap
- gitref.org
- Dapatkan cheatsheet visual
Menggali Git
Saya akan memeriksa entri dari waktu ke waktu dan 'merapikan' mereka sehingga mereka memiliki tampilan / nuansa yang konsisten dan mudah untuk memindai daftar - jangan ragu untuk mengikuti "header - penjelasan singkat - daftar instruksi - gotcha dan templat info tambahan ". Saya juga akan menautkan ke entri dari daftar peluru di atas sehingga mudah untuk menemukannya nanti.
sumber
rm -rf .git
harus menghapuskan database git.git status
untuk memastikan Anda berada dalam repositori: ini memiliki satu gotcha: jika Anda memiliki variabel lingkungan $ GIT_DIR disetel dalam shell Anda saat ini, git akan mengabaikan lokasi Anda saat ini dan menggunakan repositori pada $ GIT_DIR. Saya harus tahu, saya kehilangan satu jam untuk itu kemarin.GUI untuk git
Git GUI
Disertakan dengan git - Jalankan
git gui
dari baris perintah, dan penginstal msysgit Windows menambahkannya ke menu Start.Git GUI dapat melakukan sebagian besar dari apa yang perlu Anda lakukan dengan git. Termasuk perubahan tahap, konfigurasi git dan repositori, perubahan push, buat / checkout / hapus cabang, gabung, dan banyak hal lainnya.
Salah satu fitur favorit saya adalah cara pintas "garis panggung" dan "tahap hunk" di menu klik kanan, yang memungkinkan Anda melakukan bagian tertentu dari file. Anda dapat mencapai hal yang sama melalui
git add -i
, tetapi saya merasa lebih mudah digunakan.Ini bukan aplikasi tercantik, tetapi bekerja di hampir semua platform (didasarkan pada Tcl / Tk)
Screenshot | screencast
GITK
Juga disertakan dengan git. Ini adalah penampil riwayat git, dan memungkinkan Anda memvisualisasikan riwayat repositori (termasuk cabang, saat cabang dibuat, dan digabung). Anda dapat melihat dan mencari komit.
Cocok dengan git-gui.
Gitnub
Aplikasi Mac OS X. Terutama setara dengan
git log
, tetapi memiliki beberapa integrasi dengan github (seperti "Tampilan jaringan").Terlihat cantik, dan cocok dengan Mac OS X. Anda dapat mencari repositori. Kritik terbesar Gitnub adalah bahwa ia menunjukkan sejarah secara linear (cabang tunggal pada suatu waktu) - Gitnub tidak memvisualisasikan percabangan dan penggabungan, yang mungkin penting dengan git, meskipun ini merupakan perbaikan yang direncanakan.
Unduh tautan, ubah log, dan tangkapan layar | repositori git
GitX
Dimaksudkan untuk menjadi "klon gitk untuk OS X".
Ini dapat memvisualisasikan sejarah percabangan non-linear, melakukan komit, melihat dan mencari komit, dan memiliki beberapa fitur bagus lainnya seperti dapat "Melihat cepat" file apa pun dalam revisi apa pun (ruang tekan dalam tampilan daftar file), mengekspor file apa pun (via seret dan lepas).
Ini jauh lebih baik diintegrasikan ke dalam OS X daripada
git-gui
/gitk
, dan cepat dan stabil bahkan dengan repositori yang sangat besar.Pieter repositori git asli belum diperbarui baru-baru ini (lebih dari setahun pada saat penulisan). Cabang yang dikelola lebih aktif tersedia di brotherbard / gitx - ia menambahkan "sidebar, fetch, pull, push, add remote, gabung, cherry-pick, rebase, clone, clone to"
Unduh | Screenshot | repositori git | garpu saudara | garpu laullon
SmartGit
Dari beranda:
Anda dapat mengunduhnya dari situs web mereka .
Unduh
TortoiseGit
Versi TortoiseSVN Git untuk pengguna Windows.
Unduh
QGit
Unduh
gitg
fitur
Unduh: rilis atau sumber
Gitbox
Unduh
Gity
Situs web Gity tidak memiliki banyak informasi, tetapi dari tangkapan layar di sana tampaknya merupakan sumber terbuka OS X git gui yang kaya fitur.
Unduh atau sumber
Meld
Unduhan
Katana
A Git GUI untuk OSX oleh Steve Dekorte.
Gratis untuk 1 repositori, $ 25 untuk lebih banyak.
Unduh
Sprout (sebelumnya GitMac)
Berfokus untuk membuat Git mudah digunakan. Menampilkan UI Cocoa (seperti mac) asli, penelusuran repositori cepat, kloning, push / pull, percabangan / penggabungan, diff visual, cabang jarak jauh, akses mudah ke Terminal, dan banyak lagi.
Dengan membuat tindakan Git yang paling umum digunakan, intuitif dan mudah dilakukan, Sprout (sebelumnya GitMac) menjadikan Git mudah digunakan. Kompatibel dengan sebagian besar alur kerja Git, Sprout sangat bagus untuk perancang dan pengembang, kolaborasi tim dan pengguna tingkat lanjut dan pemula.
Unduh | Situs web
Menara
Git GUI yang kaya fitur untuk Mac OSX. Uji coba gratis 30 hari, $ 59USD untuk lisensi pengguna tunggal.
Unduh | Situs web
EGit
Unduh | Situs web
Ekstensi Git
Open Source untuk Windows - instal semua yang Anda butuhkan untuk bekerja dengan Git dalam satu paket, mudah digunakan.
Unduh
Terima kasih banyak kepada dbr untuk menguraikan hal-hal git gui.
SourceTree
SourceTree adalah klien Mac gratis untuk Git, Mercurial dan SVN. Dibangun oleh Atlassian, orang-orang di balik BitBucket, tampaknya berfungsi sama baiknya dengan sistem VC apa pun, yang memungkinkan Anda menguasai satu alat tunggal untuk digunakan dengan semua proyek Anda, namun itu dikendalikan oleh versi. Penuh fitur, dan GRATIS.
Unduh | Situs web
sumber
Yah, terlepas dari kenyataan bahwa Anda meminta kami untuk tidak "sekadar" menghubungkan ke sumber daya lain, cukup bodoh ketika sudah ada sumber daya yang tumbuh (dan tumbuh) di komunitas yang benar-benar bagus: Buku Komunitas Git . Serius, 20 + pertanyaan dalam pertanyaan ini akan menjadi apa pun selain singkat dan konsisten. Git Community Book tersedia dalam bentuk HTML dan PDF dan menjawab banyak pertanyaan Anda dengan jawaban yang jelas, diformat dengan baik, dan ditinjau sejawat serta dalam format yang memungkinkan Anda untuk langsung menuju ke masalah Anda.
Sayangnya, jika posting saya benar-benar mengecewakan Anda maka saya akan menghapusnya. Katakan saja begitu.
sumber
Cara mengkonfigurasinya untuk mengabaikan file:
Kemampuan untuk membuat git mengabaikan file yang tidak ingin Anda lacak sangat berguna.
Untuk mengabaikan file atau set file, Anda memberikan pola. Sintaks pola untuk git cukup sederhana, tetapi kuat. Ini berlaku untuk ketiga file yang berbeda yang akan saya sebutkan di bawah ini.
Contoh yang bagus dari halaman manual gitignore (5) :
Secara umum ada tiga cara berbeda untuk mengabaikan file yang tidak terlacak.
1) Abaikan untuk semua pengguna repositori:
Tambahkan file bernama .gitignore ke akar copy pekerjaan Anda.
Edit .gitignore agar sesuai dengan preferensi Anda yang file-nya seharusnya / tidak boleh diabaikan.
dan komit ketika Anda selesai.
2) Abaikan hanya untuk salinan repositori Anda:
Tambahkan / Edit file $ GIT_DIR / info / kecualikan dalam copy pekerjaan Anda, dengan pola pilihan Anda.
Contoh: Salinan kerja saya adalah ~ / src / project1 jadi saya akan mengedit ~ / src / project1 / .git / info / exclude
Kamu sudah selesai!
3) Abaikan dalam semua situasi, di sistem Anda:
Pola abaikan global untuk sistem Anda dapat berupa file bernama apa pun yang Anda inginkan.
Milik saya secara pribadi disebut ~ / .gitglobalignore
Saya kemudian dapat memberi tahu git tentang file ini dengan mengedit file ~ / .gitconfig saya dengan baris berikut:
Kamu sudah selesai!
Saya menemukan halaman manual gitignore sebagai sumber terbaik untuk informasi lebih lanjut.
sumber
Bagaimana Anda 'menandai' serangkaian revisi tertentu
Bagaimana Anda 'menandai' 'tag' atau 'merilis' set revisi tertentu untuk set file tertentu sehingga Anda selalu dapat menariknya nanti?
Menggunakan
git tag
perintah.Untuk hanya "menandai" revisi saat ini, Anda cukup menjalankan ..
Untuk daftar tag saat ini, jalankan saja
git tag
tanpa argumen, atau-l
(huruf kecil L):Untuk menghapus tag, Anda menggunakan
-d
bendera:Untuk menandai komit tertentu (sebelumnya), Anda cukup lakukan ..
Sebagai contoh:
Catatan: secara default, git membuat tag "ringan" (pada dasarnya referensi ke revisi tertentu). Cara "benar" adalah menggunakan
-a
bendera. Ini akan meluncurkan editor Anda meminta pesan tag (identik dengan meminta pesan komit, Anda juga dapat menggunakan-m
bendera untuk memasok pesan tag pada baris perintah). Menggunakan tag beranotasi membuat objek dengan ID sendiri, tanggal, tagger (penulis), dan opsional tanda tangan GPG (menggunakan-s
tag). Untuk informasi lebih lanjut tentang ini, lihat posting iniDan untuk mencantumkan tag dengan anotasi, gunakan
-n1
bendera untuk menampilkan 1 baris dari setiap pesan tag (-n245
untuk menampilkan 245 baris pertama dari setiap anotasi, dan seterusnya):Untuk informasi lebih lanjut, lihat Halaman Manual git-tag (1)
sumber
git tag tagname revision_SHA1
Contoh alur kerja dengan GIT.
Git sangat fleksibel dan beradaptasi baik untuk alur kerja apa pun, tetapi tidak menegakkan alur kerja tertentu mungkin memiliki efek negatif sehingga sulit untuk memahami apa yang dapat Anda lakukan dengan git di luar alur kerja "cadangan" linier, dan bagaimana percabangan yang bermanfaat misalnya .
Posting blog ini menjelaskan dengan baik alur kerja yang sangat sederhana namun efektif yang sangat mudah diatur menggunakan git.
mengutip dari posting blog: Kami menganggap asal / master sebagai cabang utama di mana kode sumber HEAD selalu mencerminkan keadaan siap produksi:
Alur kerja telah menjadi cukup populer untuk membuat proyek yang mengimplementasikan alur kerja ini: git-flow
Ilustrasi yang bagus tentang alur kerja sederhana, di mana Anda membuat semua perubahan dalam pengembangan, dan hanya mendorong untuk menguasai ketika kode berada dalam status produksi:
Sekarang katakanlah Anda ingin bekerja pada fitur baru, atau refactoring sebuah modul. Anda bisa membuat cabang baru, apa yang bisa kita sebut cabang "fitur", sesuatu yang akan memakan waktu dan mungkin memecahkan beberapa kode. Setelah fitur Anda "cukup stabil" dan ingin memindahkannya "lebih dekat" ke produksi, Anda menggabungkan cabang fitur Anda menjadi pengembangan. Ketika semua bug diurutkan setelah penggabungan dan kode Anda melewati semua pengujian, Anda mendorong perubahan Anda ke master.
Selama semua proses ini, Anda menemukan bug keamanan yang mengerikan, yang harus segera diperbaiki. Anda bisa memiliki cabang yang disebut perbaikan terbaru, yang membuat perubahan yang didorong lebih cepat kembali ke produksi daripada cabang "berkembang" yang normal.
Di sini Anda memiliki ilustrasi tentang bagaimana alur kerja fitur / perbaikan terbaru / pengembangan / produksi ini kelihatannya (dijelaskan dengan baik di posting blog, dan saya ulangi, posting blog menjelaskan keseluruhan proses secara lebih rinci dan jauh lebih baik daripada yang saya lakukan) .
sumber
Berikut adalah salinan pos PJ Hyett, karena tidak tersedia lagi:
sumber
./foo
tetapi tidak ada jalur yang ditentukan untuk klon get, di mana Anda memeriksa?Cara menginstal Git
Di Windows:
Instal msysgit
Ada beberapa unduhan:
Ini juga menginstal shell bash Cygwin, sehingga Anda dapat menggunakan
git
shell yang lebih bagus (dari cmd.exe), dan juga termasuk git-gui (dapat diakses melaluigit gui
perintah, atauStart > All Programs > Git
menu)Mac OS X
Gunakan installer-git-osx , atau Anda juga dapat menginstal dari sumber
Melalui manajer paket
Instal
git
menggunakan pengelola paket asli Anda. Misalnya, di Debian (atau Ubuntu):Atau di Mac OS X, melalui MacPorts :
… Atau mengadu:
... atau Homebrew :
Pada distribusi berbasis Red Hat, seperti Fedora:
Dalam Cygwin paket Git dapat ditemukan di bawah bagian "devel"
Dari sumber (Mac OS X / Linux / BSD / dll.)
Di Mac OS X, jika Anda memiliki Alat Pengembang yang diinstal, Anda dapat mengkompilasi Git dari sumber dengan sangat mudah. Unduh versi terbaru Git sebagai
.tar.bz
atau.tar.gz
dari http://git-scm.com/ , dan ekstrak (klik dua kali pada Finder)Di Linux / BSD / dll. itu harus sama. Misalnya, di Debian (dan Ubuntu), Anda harus menginstal
build-essential
paket viaapt
.Kemudian di Terminal,
cd
ke tempat Anda mengekstrak file (Menjalankancd ~/Downloads/git*/
harus bekerja), dan kemudian jalankan ..Ini akan menginstal Git ke tempat default (
/usr/local
- begitugit
juga di/usr/local/bin/git
)Ini akan meminta Anda untuk memasukkan kata sandi Anda (untuk
sudo
), ini sehingga ia dapat menulis ke/usr/local/
direktori, yang hanya dapat diakses oleh pengguna "root" sehingga diperlukan sudo!Jika Anda menginstalnya di tempat yang terpisah (jadi file Git tidak tercampur dengan alat lain), gunakan
--prefix
dengan perintah configure:Ini akan menginstal
git
biner ke/usr/local/bin/gitpath/bin/git
- jadi Anda tidak perlu mengetikkan itu setiap kali, Anda harus menambahkannya$PATH
dengan menambahkan baris berikut ke dalam~/.profile
:Jika Anda tidak memiliki akses sudo, Anda dapat menggunakan
--prefix=/Users/myusername/bin
dan menginstal ke direktori home Anda. Ingat untuk menambahkan~/bin/
ke$PATH
Script x-git-update-ke-terbaru-versi mengotomatiskan banyak hal ini:
sumber
yum install git
. Untuk menjalankan GUIyum install git-gui
.sudo port install git-core+bash_completion+doc
fink self-update
akan membantuSetel Ulang Git
Katakanlah Anda menarik, menggabungkannya ke dalam kode Anda, dan memutuskan Anda tidak menyukainya. Gunakan git-log, atau tig, dan temukan hash di mana pun Anda ingin kembali (mungkin komit terakhir Anda sebelum menarik / menggabungkan) salin hash, dan lakukan:
Alih-alih hash, Anda bisa menggunakan HEAD ^ sebagai jalan pintas untuk komit sebelumnya.
sumber
git reset
harus unstage disengajagit add
Bagaimana Anda mengatur repositori tim bersama?
Cara mengatur repositori normal dijelaskan di sini - tetapi bagaimana Anda mengatur repositori tim yang semua orang dapat tarik dan dorong dari dan ke?
Menggunakan sistem file NFS bersama
Anggap tim Anda sudah memiliki misalnya keanggotaan grup bersama yang dapat digunakan.
Untuk mulai menggunakan repositori ini, hal termudah untuk dilakukan adalah mulai dari repositori lokal yang sudah Anda gunakan:
Orang lain sekarang dapat mengkloning ini dan mulai bekerja:
Menggunakan SSH
Siapkan akun pengguna di server target. Apakah Anda menggunakan akun tanpa kata sandi, akun dengan kata sandi, atau menggunakan
authorized_keys
benar-benar tergantung pada tingkat keamanan yang Anda butuhkan. Lihatlah Mengkonfigurasi Git melalui SSH untuk informasi lebih lanjut.Jika semua pengembang menggunakan akun yang sama untuk mengakses repositori bersama ini, Anda tidak perlu menggunakan
--shared
opsi seperti di atas.Setelah memulai repositori dengan cara yang sama seperti di atas, Anda melakukan dorongan awal seperti ini:
Lihat kesamaannya dengan yang di atas? Satu-satunya hal yang mungkin terjadi adalah SSH meminta kata sandi jika akun tersebut memiliki kata sandi. Jika Anda mendapatkan prompt ini pada akun tanpa kata sandi, server SSH mungkin telah dinonaktifkan
PermitEmptyPasswords
.Kloning sekarang terlihat seperti ini:
sumber
git status
adalah temanmu, seringlah menggunakannya. Baik untuk menjawab pertanyaan seperti:Tidak seperti, katakanlah
svn status
,git status
berjalan hampir instan bahkan pada proyek besar. Saya sering menemukannya meyakinkan ketika belajar git sering menggunakannya, untuk memastikan model mental saya tentang apa yang terjadi akurat. Sekarang saya kebanyakan hanya menggunakannya untuk mengingatkan diri sendiri apa yang telah saya ubah sejak komit terakhir saya.Jelas, ini jauh lebih berguna jika .gitignore Anda dikonfigurasi dengan benar.
sumber
Perubahan Komit
Setelah Anda mengedit file, Anda perlu melakukan perubahan pada git. Ketika Anda menjalankan perintah ini, ia akan meminta pesan komit - yang hanya sedikit teks yang memberitahu semua orang apa yang telah Anda ubah.
Akan melakukan file main.c di direktori ./source/
akan mengkomit semua file yang diubah (tetapi bukan file baru, itu perlu ditambahkan ke indeks dengan git-add). Jika Anda hanya ingin mengkomit file-file tertentu maka Anda perlu mem-stage-nya terlebih dahulu dengan git-add dan kemudian komit tanpa tanda -a.
Mengkomit hanya mengubah repositori lokal Anda meskipun bukan repositori jarak jauh. Jika Anda ingin mengirim komit ke repositori jarak jauh maka Anda perlu melakukan push.
Untuk seseorang yang datang dari CVS atau SVN ini adalah perubahan karena komit ke repositori pusat sekarang memerlukan dua langkah.
sumber
Bagaimana Anda bercabang?
Cabang default di repositori git disebut
master
.Untuk membuat penggunaan cabang baru
Untuk melihat daftar semua cabang dalam tipe repositori saat ini
Jika Anda ingin beralih ke cabang lain yang dapat Anda gunakan
Untuk membuat cabang baru dan beralih ke itu dalam satu langkah
Untuk menghapus cabang, gunakan
Untuk membuat cabang dengan perubahan dari cabang saat ini, lakukan
sumber
Mendapatkan Kode terbaru
Itu cukup banyak mencakup setiap kasus untuk mendapatkan salinan kode terbaru dari repositori jarak jauh.
sumber
The Pro Git buku gratis adalah jelas favorit saya, terutama bagi pemula.
sumber
Git Magic adalah semua yang Anda butuhkan. Dijamin atau uang Anda kembali!
sumber
Bagaimana Anda menggabungkan cabang?
Jika Anda ingin menggabungkan cabang (misalnya
master
untukrelease
), pastikan cabang Anda saat ini adalah cabang target yang ingin bergabung menjadi (gunakangit branch
ataugit status
untuk melihat cabang Anda saat ini).Kemudian gunakan
(di mana
master
nama cabang yang ingin Anda gabungkan dengan cabang saat ini).Jika ada konflik, Anda dapat menggunakan
untuk melihat konflik yang tertunda Anda harus menyelesaikannya.
sumber
Saya juga menemukan Git Internal sangat berguna. Ini ditulis oleh Scott Chacon (penulis Pro Git, dan pemelihara Buku Komunitas Git). Apa yang saya sukai tentang Git Internal adalah ia berfokus pada konsep pertama dan kemudian perintah , dan karena itu adalah ~ 100 halaman kecil dengan cepat dicerna.
sumber
Bagaimana Anda melihat riwayat revisi suatu file?
sumber
Cara melacak cabang jarak jauh
Dengan asumsi ada repositori jarak jauh yang Anda gunakan untuk mengkloning repositori lokal Anda dan juga dengan asumsi bahwa ada cabang bernama 'some_branch' pada repositori jarak jauh itu, berikut ini cara melacaknya secara lokal:
sumber
git remote show REMOTENAME
Makalah yang sangat bagus untuk memahami bagaimana Git bekerja adalah The Git Parable . Sangat direkomendasikan!
sumber
Bagaimana Anda membandingkan dua revisi file, atau file Anda saat ini dan revisi sebelumnya?
Bandingkan perintah itu
git diff
.Untuk membandingkan 2 revisi file:
Itu berbeda dengan commit1 terhadap commit2; jika Anda mengubah urutan maka file berbeda, yang mungkin tidak seperti yang Anda harapkan ...
Untuk membandingkan file bertahap saat ini dengan repositori:
Untuk membandingkan file yang belum dipentaskan saat ini dengan repositori:
sumber
Mengapa lagi howto? Ada yang benar-benar bagus di internet, seperti panduan git yang sempurna untuk memulai. Ia memiliki tautan yang baik termasuk buku git yang dapat dikontribusikan seseorang (dihosting di hub git) dan yang sempurna untuk tugas kolektif ini.
Di stackoverflow, saya lebih suka melihat trik favorit Anda!
Milik saya, yang baru saya temukan belakangan ini
git stash
, dijelaskan di sini , yang memungkinkan Anda untuk menyelamatkan pekerjaan Anda saat ini dan pergi ke cabang lainSunting: sebagai posting sebelumnya, jika Anda lebih suka format stackoverlow dengan posting sebagai wiki saya akan menghapus jawaban ini
sumber
UI Konsol - Tig
Instalasi:
Pemakaian
Saat berada di dalam git repo, ketik 'tig', untuk melihat log interaktif, tekan 'enter' pada sembarang log untuk melihat informasi lebih lanjut tentang itu. h untuk bantuan, yang mencantumkan fungsionalitas dasar.
Hal sepele
"Tig" adalah "Git" mundur.
sumber
Bagaimana saya bisa membuat cabang di repositori jarak jauh?
Dengan asumsi bahwa Anda telah mengkloning repositori jarak jauh Anda dari beberapa repositori jarak jauh tunggal.
sumber
git push origin name_of_branch
dan cabang sudah akan dibuat di remote Andaname_of_branch
adalah nama lokal, yang kedua adalah nama cabang jarak jauh (yang diinginkan), jadi bisa jadilocal_name_of_branch:remote_name_of_branch
jika Anda ingin nama-nama itu berbeda. Jika Anda menginginkannya sama, Anda masih harus menetapkannya seperti b / c git ini tidak membuat asumsi bahwa Anda ingin nama itu sama kecuali Anda mengatakannya (ada metode lain untuk melakukannya juga, namun)Saya memulai dengan tutorial resmi Git . Saya pikir ini cukup praktis untuk pemula (saya, dan masih, seorang pemula, menurut definisi Anda! Saya hampir tidak memahami makefiles, saya hanya bermain sedikit dengan Apache Subversion, dll.).
sumber
Bagaimana cara saya menghapus cabang pada repositori jarak jauh?
Lakukan push di remote Anda menggunakan
:
sebelum nama cabangmenjadi
origin
nama remote Anda danmybranchname
nama cabang yang akan dihapushttp://help.github.com/remotes/
sumber
Dorong dan tarik perubahan
Dengan cara yang disederhanakan, lakukan saja
git push
dangit pull
. Perubahan digabung dan jika ada konflik, git akan memberi tahu Anda dan Anda dapat menyelesaikannya secara manual.Ketika Anda pertama kali mendorong ke repositori jarak jauh, Anda perlu melakukan
git push origin master
(master menjadi cabang master). Sejak saat itu Anda hanya melakukangit push
.Dorong tag dengan
git push --tags
.sumber
Memeriksa Kode
Pertama pergi ke dir kosong, gunakan "git init" untuk membuatnya menjadi repositori, kemudian klon repo jarak jauh ke Anda sendiri.
Di mana pun Anda awalnya mengkloning dari mana "git pull" akan menarik dari secara default.
sumber
Gity: http://macendeavor.com/gity
sumber