Git Cheat Sheet

Perintah Git Yang Sering Digunakan

Upload semua file dari direktori lokal ke repositori baru

Jika Anda memiliki proyek di komputer Anda dan Anda baru saja membuat repositori Git kosong di GitHub, gunakan perintah ini untuk mengunggah semuanya ke GitHub.

cd your-directory
git init
git remote add origin git@github.com:your-username/your-repo.git
git add .
git commit -am "Message"
git push -u origin master

Download semua file dari repositori Git ke direktori lokal

Kebalikan dari opsi di atas - misalnya, jika repositori Anda ada di GitHub, dan Anda sedang mengerjakannya di komputer lokal yang berbeda. Jalankan perintah ini di luar tempat Anda ingin direktori baru muncul (bukan di dalam direktori yang Anda inginkan muncul).

git clone git@github.com:your-username/your-repo.git     # using SSH
git clone https://github.com/your-username/your-repo.git # using HTTPS

Hapus satu file dari Git cache

Hapus satu file yang di-cache.

git rm -r —-cached file.txt

Timpa seluruh direktori lokal

Jika Anda memiliki beberapa konflik penggabungan ( merge ), atau secara tidak sengaja mulai membuat perubahan ke direktori lokal Anda sebelum menarik perubahan dari master, inilah cara Anda dapat mengembalikan direktori lokal Anda ke apa yang ada di GitHub.

git fetch --all
git reset --hard origin/master

Ignore direktori

Jika Anda telah melacak direktori dan kemudian memutuskan untuk mengabaikan seluruh direktori, menambahkannya ke .gitignore tidak cukup. Pertama, Anda harus menambahkan direktori ke .gitignore, lalu jalankan perintah ini:

git rm -r --cached your-directory

Kemudian push ( upload ) perubahan/revisi.

Tambahkan .gitignore ke repositori yang ada

Mirip dengan di atas, tetapi jika Anda telah menambahkan .gitignore dengan banyak perubahan.

git rm -r --cached .
git add .
git commit -m "Pesan"

Force push dan pull

Ketika Anda benar-benar ingin repositori lokal Anda menimpa remote.

git push -f origin master
git pull -f origin master

Menggabungkan perubahan dari permintaan remote pull dengan konflik

Buat cabang baru dengan perubahannya.

git checkout -b their-branch master
git pull their.git master

Lakukan perubahan di file kemudian commit

git add files
git commit -m “Message"
git push origin master

Gabungkan kembali ke cabang Anda.

git checkout master
git merge --no-ff <their-branch) (:wq!)
git push origin master

Menghapus branch ( cabang )

Tambahkan : di depan untuk menghapus alih-alih memperbarui direktori remote

git push origin :branch-name

Gunakan argumen --delete atau -D untuk direktori lokal

git branch --delete branch-name

Ganti master dengan konten dari cabang lain

git checkout branch-name
git merge -s ours master
git checkout master
git merge branch-name

Hapus semua cabang lokal kecuali master

git branch | grep -v "master" | xargs git branch -D

Lebih dari satu cabang dapat ditambahkan ke grep. Untuk menghapus semua cabang lokal kecuali "master" dan "develop":

git branch | grep -v "master\|develop" | xargs git branch -D

Izinkan commit kosong

Perbaiki masalah git hooks yang menganggap semuannya terbaru "Up-to-date".

git push production master
git commit --allow-empty -m 'push to execute post-receive'
git push production master

Gabungkan cabang new-feature ke master

Gabungkan cabang.

git checkout master
git pull origin master
git merge new-feature
git push origin master

Beralih ke cabang yang ada di tempat asalnya

git fetch --prune --all
git checkout other-branch

Ambil cabang dari asalnya

git fetch origin
git checkout --track origin/<remote_branch_name>

Terima semua perubahan yang masuk

git pull -Xtheirs

Rebase dari cabang develop

git fetch --prune --all
git rebase origin/develop
git pull
git push

Stashing

Abaikan perubahan Anda dan alihkan ke cabang lain

git stash
git checkout -b new-branch
git stash pop

Tidak sengaja melakukan commit cabang develop dan ingin memindahkan commit itu ke cabang lain

git branch new-branch
git reset HEAD~1
git checkout <files>
Share on Twitter | Discuss on Twitter

Stay in touch

Like the posts you see here? Sign up to get notified about new ones.