Apakah ada cara untuk menggunakan ketiga perintah ini dalam satu?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
Terkadang saya mengubah hanya satu huruf, padding CSS atau sesuatu. Namun, saya harus menulis ketiga perintah untuk mendorong perubahan. Ada banyak proyek di mana saya hanya satu pendorong, jadi perintah ini akan luar biasa!
Jawaban:
Membangun dari jawaban @ Gavin:
Menjadikan lazygit suatu fungsi alih-alih sebuah alias memungkinkan Anda menyampaikan argumen. Saya telah menambahkan yang berikut ini ke .bashrc saya (atau .bash_profile if Mac):
Ini memungkinkan Anda untuk memberikan pesan komit, seperti
Tentu saja Anda dapat menambahkan ini lebih banyak dengan menerima lebih banyak argumen, seperti tempat yang jauh untuk mendorong, atau cabang mana.
sumber
$*
alih-alih$1
menyimpan mengetikkan kutipan:lazygit My commit msg
function dirtygit() { git add . git commit -a -m "$*" git push }
Saya akhirnya menambahkan alias ke
.gitconfig
file saya :Pemakaian:
git cmp "Long commit message goes here"
Tambahkan semua file, lalu gunakan komentar untuk pesan komit dan dorong ke tempat asalnya.
Saya pikir ini solusi yang lebih baik karena Anda memiliki kontrol atas apa pesan komit itu.
Alias juga dapat didefinisikan dari baris perintah, ini menambahkannya ke Anda
.gitconfig
:sumber
!f() { ... }; f
yang tepatnya dilakukan? Penjelasan lebih lanjut tentang kalimat itu akan membuat jawabannya menjadi lebih baik.f
, lalu memanggilnya.git pull
ke awal sehingga gabungan berkurang.Sementara saya setuju dengan Wayne Werner tentang keraguannya, ini secara teknis merupakan opsi:
Yang mendefinisikan alias yang berjalan
commit
danpush
. Gunakan sebagaigit acp
. Perlu diketahui bahwa alias "shell" semacam itu selalu dijalankan dari root repositori git Anda.Pilihan lain mungkin untuk menulis hook pasca-komit yang melakukan push.
Oh, ngomong-ngomong, Anda memang bisa memberikan argumen untuk alias shell. Jika Anda ingin mengirimkan pesan komit kustom, gunakan:
(Tentu saja, sekarang, Anda akan perlu untuk memberikan pesan komit:
git acp "My message goes here!"
)sumber
git
secara otomatis menambahkan lolos (dicentang dengangit config -e
).Saya pikir Anda mungkin salah mengerti alur kerja yang dirancang untuk git. (Untuk memperjelas / mengoreksi apa yang saya maksud dalam komentar, Anda tidak perlu
git add .
, sejak itucommit -a
biasanya memiliki tujuan yang sama - menambahkan perubahan apa pun yang belum dipentaskan, jika file sudah ditambahkan)Biasanya Anda akan melakukan sesuatu seperti ini:
cuci, bilas, ulangi, sampai Anda selesai fitur X, atau Anda berada di titik berhenti, atau Anda hanya ingin orang lain melihat apa yang telah Anda lakukan. Lalu kamu lakukan
Git bukan SVN - tetapi tampaknya Anda mencoba menggunakannya seperti itu. Anda mungkin menemukan beberapa sumber daya di akhir artikel di sini berguna.
sumber
git add .
dangit commit -a
bukan hal yang samaSaya menggunakan ini di .bash_profile saya
Ini dijalankan seperti
Jangan lupa untuk menjalankan
source ~/.bash_profile
setelah menyimpan alias.sumber
Anda dapat menggunakan skrip bash, atur alias untuk meluncurkan perintah atau grup perintah apa pun
sumber
Tetapkan sebagai alias di bash:
Sebut saja:
(Untuk menjadikan alias ini permanen, Anda harus memasukkannya dalam .bashrc atau .bash_profile Anda)
sumber
Solusi paling sederhana adalah dengan:
git add
sudah terkandung dalam -a parameter commit, tetapi jika mau, Anda bisa menghubungkan semuanya:sumber
Di Linux / Mac, opsi praktis ini juga bisa digunakan
Jika Anda mengerjakan cabang baru yang dibuat secara lokal, gantilah
git push
bagian itugit push -u origin branch_name
Jika Anda ingin mengedit pesan komit di editor sistem, maka
akan membuka editor dan setelah Anda menyimpan pesan itu juga akan mendorongnya.
sumber
Anda bisa mencoba gitu .
Untuk pertama kalinya (node js harus diinstal):
Setelah itu:
Untuk mengeluarkan tiga perintah sekaligus.
Hal baiknya adalah Anda tidak perlu khawatir ketika Anda menginstal ulang sistem Anda atau ketika Anda ingin melakukan ini pada komputer yang berbeda dan Tidak diperlukan modifikasi file. Ini juga bekerja pada platform yang berbeda (tidak hanya Linux dan Mac, tetapi juga Windows di bawah command prompt seperti
cmd
danpowershell
) hanya saja Anda harus menginstalnpm
dannodejs
(git
tentu saja).sumber
Jika file sudah dilacak maka Anda tidak perlu menjalankannya
git add
, Anda cukup menulisgit commit -am 'your message'
Jika Anda tidak ingin menulis pesan komit, Anda mungkin ingin melakukan sesuatu seperti
git commit --allow-empty-message -am ''
sumber
Hasil ini - Coba ini: Script sederhana satu perintah untuk git add, git commit dan git push
Buka CMD Anda di Windows dan rekatkan jawaban ini
git commit -m "your message" . && git push origin master
sumber
Seperti disebutkan dalam jawaban ini , Anda dapat membuat alias git dan menetapkan seperangkat perintah untuk itu. Dalam hal ini, itu akan menjadi:
dan menggunakannya dengan
sumber
Tulis skrip kecil bernama gitpush.sh dengan baris di bawah ini dan tambahkan direktori ~ Anda.
Sekarang tambahkan alias di ~ / .bashrc seperti di bawah ini:
Sekarang dari repositori git cukup tulis "pesan" gitpush.
sumber
Saya menggunakan file batch:
sumber
Ada beberapa masalah dengan skrip di atas:
menggeser "menghapus" parameter $ 1, jika tidak, "tekan" akan membacanya dan "salah paham".
Tip saya:
sumber
Ketika Anda menginginkan perilaku git seperti svn commit, gunakan ini di alias git Anda di .gitconfig Anda
commit = "!f() { git commit \"$@\" && git push; };f"
sumber
Jika Anda menggunakan kulit ikan (membangun dari jawaban btse):
Simpan file ini dalam '~ / .config / fish / functions' sebagai 'quickgit.fish'. Buat direktori jika tidak ada. '- git-dir = $ PWD / .git' Memastikan bahwa kita menjalankan perintah git terhadap proyek git tempat kita memanggil fungsi
Mulai ulang terminal, navigasikan ke proyek, buat perubahan, dan sekarang Anda dapat memanggil 'quickgit "contoh pesan"'. Perubahan sekarang akan ditambahkan, dikomit, dan dorong :).
Juga dapat ditemukan sebagai Intisari di sini: https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69
sumber
Sudah ada banyak solusi bagus, tapi inilah solusi yang menurut saya lebih elegan untuk cara saya ingin bekerja:
Saya meletakkan skrip di jalur saya yang disebut "git-put" yang berisi:
Itu memungkinkan saya untuk menjalankan:
..untuk menambahkan semua file, komit, dan dorong.
(Saya juga menambahkan "-u" karena saya suka melakukan ini, walaupun itu tidak terkait dengan masalah ini. Ini memastikan bahwa cabang hulu selalu diatur untuk menarik.)
Saya suka pendekatan ini karena ini juga memungkinkan untuk menggunakan "git put" tanpa menambahkan semua file (lewati "-a"), atau dengan opsi lain yang mungkin ingin saya sampaikan untuk komit. Juga, "put" adalah portmanteau pendek dari "push" dan "commit"
sumber
Jika Anda menggunakan VSCode, Anda dapat mengunduh ekstensi ini yang memungkinkan Anda melakukannya dalam satu pintasan keyboard sederhana.
sumber
Jika Anda menggunakan Mac:
Mulai Terminal Ketik "cd ~ /" untuk pergi ke folder rumah Anda
Ketik "touch .bash_profile" untuk membuat file baru Anda.
Edit .bash_profile dengan editor favorit Anda (atau Anda cukup mengetik "open -e .bash_profile" untuk membukanya di TextEdit).
Salin & Rekatkan di bawah ini ke dalam file:
Setelah ini, nyalakan ulang terminal Anda dan cukup tambahkan, komit, dan tekan satu perintah mudah, contoh:
sumber
Untuk pengguna MAC VSC pengaturan terbaik adalah:
1) tekan 'shift + cmd + P' dan ketik:
Tekan ENTER (ini akan menginstal perintah kode untuk mendapatkan bash_profile dengan mudah)
2) sekarang Anda dapat menjalankan:
code ~/.bash_profile
untuk membuka bash_profile kosong3) masukkan fungsi baru di sana:
4) sekarang restart VSC
5) melakukan perubahan, simpan dan ketik
lazygit message
untuk menjalankan tiga perintah secara bersamaansumber
Untuk pengguna macOS:
Buka Terminal Anda atau iTerm2 atau terminal lain yang Anda gunakan.
Pindah ke folder Profil pengguna Anda dengan perintah
~/
. Ini folder default untuk.bash_profile
file:Ketik
nano .bash_profile
Perintah ini akan membuka.bash_profile
dokumen (atau membuatnya jika belum ada) di editor teks termudah untuk menggunakan terminal -nano
.Sekarang Anda dapat membuat perubahan sederhana ke file. Rekatkan baris kode ini untuk mengubah Terminal Anda:
Sekarang simpan perubahan Anda dengan mengetik
ctrl + o
dan tekan kembali untuk menyimpan. Lalu keluarnano
dengan mengetikctrl + x
.Sekarang kami perlu mengaktifkan perubahan Anda. Ketik
source .bash_profile
(atau. ~/.bash_profile
) dan perhatikan perubahan prompt Anda.Di iTerm2
Preferences/Profiles/General/Command
diatur keLogin Shell
danSend text at start
kesource ~/.bash_profile
. Jadi Anda tidak perlu membuatnya secara manual setelah setiap macOS restart.Kredensial: https://natelandau.com/my-mac-osx-bash_profile
sumber
Saya melakukan ini skrip .sh untuk perintah
sumber
Karena pertanyaan tidak menentukan shell mana, inilah versi eshell berdasarkan jawaban sebelumnya. Ini berlaku di file alias eshell, yang mungkin ada di ~ / .emacs.d / eshell / alias saya telah menambahkan bagian pertama z https://github.com/rupa/z/ yang memungkinkan Anda dengan cepat melakukan cd ke direktori , sehingga ini dapat dijalankan tidak peduli apa direktori Anda saat ini.
sumber
Tambahkan
~/.bash_profile
untuk menambahkan, melakukan dan mendorong dengan satu perintah put:Pemakaian:
Tidak ada tanda kutip diperlukan meskipun Anda tidak dapat menggunakan titik koma atau tanda kurung dalam pesan komit Anda (tanda kutip tunggal diizinkan). Jika Anda ingin salah satu dari ini, cukup berikan tanda kutip ganda di pesan Anda, misalnya:
Untuk membuat komentar di pesan Anda lakukan:
Ada juga fungsi untuk menambahkan dan melakukan dengan cara yang sama:
Cara kerjanya persis sama yaitu
g
berfungsi dan memiliki kendala yang sama. Taruh sajac
sebagai gantinya. MisalnyaAnda juga dapat menambahkan alias untuk mendorong ke remote:
Pemakaian:
Itu berjumlah 2 huruf,
c
danp
Anda gunakan saat bekerja dengan repositori git Anda. Atau bisa Anda gunakang
untuk melakukan semuanya hanya dengan satu huruf.Daftar lengkap alias dan fungsi: https://gist.github.com/matt360/0c5765d6f0579a5aa74641bc47ae50ac
sumber
Membangun
lazygit
jawaban, solusi berikut menambahkan cek pengguna untuk memverifikasi perubahan sebelum mendorong. Ini akan mengembalikan perintah jika dibatalkan. Dan semua itu akan terjadi jika dan hanya jika ada perubahan pada repo lokal.sumber
Ini sangat cocok untuk pengelompokan perintah.
Perintah Pengelompokan
sumber
Saya suka menjalankan yang berikut ini:
sumber
;
harus diganti dengan&&
di perintah Anda, karena nanti akan menjalankangit push
perintah hanya jika tidak ada kesalahan pada perintah sebelumnya (s).Saya menemukan alias ini
yolo
luar biasa untuk mengirimkan komentar acak ke komit sementara saya malas. Ini bekerja dengan sangat baik di luar kotak, jadi saya lakukan sajagit yolo
dan semua perubahan saya didorong secara otomatis.sumber