Petua: Lebih daripada 100 arahan untuk GitHub / Git yang harus anda ketahui

Semalam cukup hari pengaturcaraan dan konflik dengan git repositori menyebabkan saya repositori hemanth di mana saya mendapat senarai lengkap dengan lebih daripada 400 arahan perenggan GitHub/Git yang dianggap paling banyak digunakan, masing-masing disertakan dengan penjelasan mengenai penggunaannya. Sekiranya anda tidak tahu apa itu GitHub atau anda menghadapi masalah memasangnya, anda boleh pergi ke Panduan ringkas untuk menggunakan GitHub yang pasti akan menghilangkan semua keraguan.

Bantuan Git untuk penggunaan harian, kurang daripada 20 arahan untuk menggunakan git setiap hari.

pergi membantu setiap hari

Tunjukkan panduan Bantuan Git

pergi membantu -g

Tarik ganti

git fetch --semua && git reset - asal / master yang keras

Senarai semua fail hingga komit

git ls-tree --nama-hanya -r <komit-ish>

Kemas kini rujukan ke komit pertama

git update-ref -d KEPALA

Senarai semua fail yang bertentangan

git diff --nama-only --diff-filter = U

Senarai semua fail diubah dalam komit

git diff-tree --no-commit-id --nama-only -r <komit-ish>

Lihat perubahan yang telah anda buat sejak komitmen terakhir

perbezaan git

Bandingkan perubahan yang anda buat dengan komitmen terakhir anda

git diff - dicache

Menunjukkan perbezaan antara perubahan yang dicatat dan yang tidak direkodkan

git diff KEPALA

Senaraikan semua cawangan yang telah bergabung dengan tuan anda

cawangan git - bercantum tuan

Cepat beralih ke cawangan sebelumnya

git checkout -

Tanggalkan cawangan yang telah digabungkan dengan induk

cawangan git - bercantum tuan | grep -v '^ \ *' | xargs -n 1 cawangan git -d

Senaraikan semua cawangan dan komitmen terakhir mereka dengan cawangan tersebut

cawangan git -vv

Jejaki cawangan

cawangan git -u origin / mybranch

Padamkan cawangan tempatan

cawangan git -d <nama_raja tempatan>

Padamkan cawangan jauh

asal git push --hapus <nama_pengguna jarak jauh>

Buat asal perubahan tempatan dengan kandungan terkini di kepala

git checkout - <nama fail>

Kembalikan komitmen dengan membuat komit baru

git membalikkan <komit-ish>

Buang komitmen, disarankan hanya di cawangan swasta

tetapkan semula git <komit-ish>

Tukar mesej komit sebelumnya

git commit -v --ubah

Ubah suai Pengarang

git commit --amend --author ='Nama Pengarang'

Tetapkan semula pengarang, setelah pengarang diubah dalam tetapan global

git commit --amend --reset-author --no-edit

Tukar URL jauh

git asal set-url jauh <URL>

Mendapat senarai semua rujukan jarak jauh

git jauh

alternatif:

pertunjukan jarak jauh git

Dapatkan senarai semua cawangan tempatan dan terpencil

cawangan git -a

Dapatkan senarai cawangan terpencil

cawangan git -r

Tambahkan bahagian fail yang diubah, bukan keseluruhan fail

git tambah -p

Cari percubaan yang selesai

curl http://git.io/vfhol > ~/.git-completion.bash && echo '[-f ~ / .git-complete.bash] &&. ~ / .git-complete.bash' >> ~/.bashrc

Menunjukkan perubahan dalam 2 minggu terakhir

git log --no-merges --raw --since ='minggu 2 lalu'

Alternatif:

git apa yang berubah --since ='minggu 2 lalu'

Lihat semua komitmen dari garpu induk

git log --no-merges --stat - master terbalik ..

Memilih komit di semua cawangan menggunakan cherry-pick

git checkout <nama cawangan> && git memilih <komit-ish>

Cari cawangan yang mengandungi hash komit

cawangan git -a - mengandungi <komit-ish>

alternatif:

cawangan git - mengandungi <komit-ish>

Git alias

git config - global alias.<mengendalikan> <arahan> 
git config - global aliasstatus .st

Simpan (stasheado) dengan cepat dan sementara kerja yang dijalankan

git simpanan

alternatif:

git stash simpan

Menyimpan semua fail, walaupun fail yang belum disiapkan.

git stash save -u

alternatif:

git stash save --termasuk-tidak dilacak

Tunjukkan senarai semua fail stasheado

senarai git stash

Gunakan perubahan berperingkat tanpa menghapusnya dari senarai berperingkat

git stash berlaku <simpanan @ {n}>
git simpanan pop

Alternatif:

git stash berlaku stash @ {0} && git stash drop stash @ {0}

Padamkan semua simpanan yang disimpan

git stash jelas

Alternatif:

git stash drop <simpanan @ {n}>

Ambil fail tertentu yang telah disimpan

git checkout <simpanan @ {n}> -- <fail_path>

alternatif:

git checkout stash @ {0} - <fail_path>

Tunjukkan semua fail yang disediakan

git ls-fail -t

Tunjukkan semua fail yang belum disediakan

git ls-files - lain-lain

Tunjukkan semua fail yang diabaikan

git ls-files --others -i --exclude-standard

Buat pokok kerja repositori baru (git 2.5)

git worktree tambah -b <nama cawangan> <jalan> <titik permulaan>

Buat pokok kerja baru dari KEPALA

git worktree add --detach <jalan> KETUA

Padamkan fail dari git repositori tanpa menghapusnya dari repositori tempatan

git rm - dicache <fail_path>

alternatif:

git rm --cached -r <direktori_path>

Sebelum menghapus fail mentah, jalankan ujian untuk mendapatkan senarai fail ini.

git bersih -n

Memaksa penghapusan fail yang belum siap

git bersih -f

Memaksa penghapusan direktori yang belum siap

git bersih -f -d

alternatif:

git bersih -df

Kemas kini semua submodul

submodul git untuk git pull

Menunjukkan semua perubahan pada cawangan semasa yang belum digabungkan dengan induk

git cherry -v tuan

alternatif:

git cherry -v tuan <cabang-untuk-digabungkan>

Namakan semula cawangan

cawangan git -m <nama-cawangan baru>

alternatif:

cawangan git -m [<nama lama-cawangan>] <nama-cawangan baru>

Kemas kini 'ciri' dan buat 'master' gabungan

ciri git checkout && git rebase @ {- 1} && git checkout @ {- 2} && git merge @ {- 1}

Arkibkan cawangan induk

master arkib git --format = zip --output = master.zip

Ubah komit sebelumnya tanpa mengubah mesej laporan

git add --all && git commit --amend --no-edit

Padamkan cawangan terpencil yang tidak lagi wujud dari asalnya

git fetch -p

alternatif:

git asal prune terpencil

Dapatkan kembali hash komit dari semakan awal

 git rev-list - KEPALA terbalik | kepala -1

Lihat pokok versi

git log --pretty = online --graph --decorate --semua

alternatif:

gitk --semua

Tambahkan projek ke repositori menggunakan subtree

git subtree add --prefix =<direktori_nama>/<Nama Projek> --squash git@github.com:<nama pengguna>/<Nama Projek>.git tuan

Dapatkan perubahan terkini dari repositori anda untuk projek terpaut menggunakan subtree

tarik subtree git --prefix =<direktori_nama>/<Nama Projek> --squash git@github.com:<nama pengguna>/<Nama Projek>.git tuan

Eksport cawangan dan sejarahnya ke fail

git bundle buat <fail> <nama cawangan>

Import dari kumpulan

git clone repo.bundle <repo-dir> -b <nama cawangan>

Mendapat nama cawangan semasa

git rev-parse --abbrev-ref KEPALA

Abaikan fail yang telah dilakukan (mis. Changelog).

git update-index - asumsi-tidak berubah Changelog; git commit -a; git kemas kini-indeks --tidak-anggap-tidak berubah Changelog

Stashea berubah sebelum menyusun semula

git rebase --autostash

Cari mengikut id di cawangan tempatan

git fetch asal tarik /<id>/ kepala:<nama cawangan>

Alternatif:

git tarik asal tarik /<id>/ kepala:<nama cawangan>

Menunjukkan tag terbaru dari cawangan semasa

git menggambarkan --tag --abbrev = 0

Cari perbezaan.

git diff - kata-perbezaan

Abaikan perubahan pada fail jejak

git update-index - anggap tidak berubah <nama fail>

Undo

indeks kemas kini git --tidak-anggap-tidak berubah <nama fail>

Bersihkan fail dari .gitignore.

git bersih -X -f

Pulihkan fail yang dipadam.

git checkout <memadam_komitmen>^ - <fail_path>

Pulihkan fail dengan komit-hash tertentu

git checkout <komit-ish> -- <fail_path>

Sentiasa susun semula dan bukannya bergabung

git config --global branch.autosetuprebase selalu

Senaraikan semua alias dan tetapan

git config - senarai

Buat sensitif git

git config --global core.ignorecase palsu

Jenis pembetulan automatik.

git config - global membantu.betul 1

Memeriksa apakah perubahan itu adalah sebahagian daripada pelepasan.

git name-rev - hanya nama <SHA-1>

Larian Kering Bersih.

git clean -fd --dry-run

Tandakan komit sebagai penyelesaian untuk komit sebelumnya

git komit --perbaiki <SHA-1>

Pembetulan skuasy

git rebase -i --autosquash

Langkau kawasan pementasan semasa melakukan.

git komit -am <komit mesej>

Senaraikan fail yang diabaikan

git check-abaikan *

Status fail yang diabaikan

status git - direka bentuk

Melakukan di Branch1 yang tidak ada di Branch2

git log Branch1 ^ Branch2

simpan dan gunakan semula penyelesaian konflik sebelumnya

git config --global reference.enabled 1

Buka semua fail yang bertentangan dalam Editor.

git diff --nama sahaja | unik | xargs EDITOR $

Hitung bilangan objek yang belum siap dan penggunaannya pada cakera.

git hitung objek - dibaca manusia

Penyelenggaraan objek yang tidak dapat diakses

git gc --prune = sekarang - agresif

Lihat repositori anda dengan segera di gitweb.

git instaweb [--local] [--httpd=<httpd>] [--port=<pelabuhan>] [- penyemak imbas=<pelayar>]

Lihat tandatangan GPG dalam log pengesahan

git log - menunjukkan tanda tangan

Mengalih keluar entri dari tetapan global.

git config --global --unset <nama kemasukan>

Dapatkan cawangan baru tanpa sejarah

git checkout - orphan <nama cawangan>

Memaparkan perbezaan antara fail pengeluaran dan versi terbaru fail.

git diff - berperingkat

Ekstrak fail dari cawangan lain.

pertunjukan git <nama cawangan>:<nama fail>

Senaraikan hanya punca dan sahkan penggabungan

git log - ibu bapa pertama

Gabungkan antara dua komit

git rebase - KEPALA interaktif ~ 2

Senaraikan semua cawangan

git checkout master && cawangan git --tidak digabungkan

Cari menggunakan carian binari

git bisect start git bisect bad git bisect good v2.6.13-rc2 git bisect bad git bisect good git bisect reset                    

Senaraikan komit dan perubahan fail tertentu

log git --mengikuti -p - <fail_path>

Klon cawangan tunggal

klon git -b <nama cawangan> --cawangan-tunggal https://github.com/user/repo.git

Buat dan beralih ke cawangan baru

git checkout -b <nama cawangan>

Abaikan fail yang mempunyai perubahan dalam komit

git config core.fileMode palsu

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.   Gabriel kata

    Penyusunan perintah yang sangat baik 😉

  2.   Jesus Perales kata

    Sumbangan yang sangat baik !!