de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Gediminas
Gediminas
Question

git add, commit dan push perintah dalam satu?

Apakah ada cara untuk menggunakan tiga perintah dalam satu?

git add .
git commit -a -m "commit" (do not need commit message either)
git push

Kadang-kadang saya'm hanya mengubah satu huruf, CSS padding atau sesuatu. Namun, saya harus menulis semua tiga perintah untuk mendorong perubahan. Ada banyak proyek-proyek di mana saya'm hanya satu pendorong, sehingga perintah ini akan mengagumkan!

202 2013-10-25T16:31:22+00:00 27
 alex
alex
Pertanyaan edit 22 Mei 2014 в 6:41
Pemrograman
git
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
 btse
btse
27 April 2014 в 9:06
2014-04-27T21:06:23+00:00
Lebih
Sumber
Sunting
#22622424

Membangun off dari @Gavin's jawaban:

Membuat lazygit fungsi bukan alias memungkinkan anda untuk lulus argumen. Saya telah menambahkan baris berikut ke saya .bashrc (atau .bash_profile jika Mac):

function lazygit() {
    git add .
    git commit -a -m "$1"
    git push
}

Hal ini memungkinkan anda untuk memberikan pesan komit, seperti

lazygit "My commit msg"

Anda tentu bisa daging sapi ini bahkan lebih dengan menerima bahkan lebih argumen, seperti yang tempat terpencil untuk mendorong, atau yang cabang.

216
0
 madcapacity
madcapacity
27 Januari 2016 в 10:48
2016-01-27T22:48:29+00:00
Lebih
Sumber
Sunting
#22622430

Akhirnya saya menambahkan sebuah alias untuk saya `.gitconfig file:

[alias]
    cmp = "!f() { git add -A && git commit -m \"[email protected]\" && git push; }; f"

Penggunaan: git cmp "Panjang pesan komit pergi di sini"

Menambahkan semua file, kemudian menggunakan komentar untuk pesan komit dan mendorong itu ke asal.

Saya pikir itu's solusi yang lebih baik karena anda memiliki kontrol atas apa yang komit pesan.

Alias dapat juga didefinisikan dari baris perintah, ini menambahkan untuk anda .gitconfig:

git config --global alias.cmp '!f() { git add -A && git commit -m "[email protected]" && git push; }; f'
81
0
Tilman Vogel
Tilman Vogel
25 Oktober 2013 в 5:06
2013-10-25T17:06:37+00:00
Lebih
Sumber
Sunting
#22622421

Sementara saya setuju dengan Wayne Werner pada-nya meragukan, secara teknis ini adalah sebuah pilihan:

git config alias.acp '! git commit -a -m "commit" && git push'

Yang mendefinisikan alias yang berjalan melakukan dan push. Menggunakannya sebagai git acp. Perlu diketahui bahwa seperti "shell" alias selalu lari dari akar repositori git.

Pilihan lain mungkin untuk menulis posting-melakukan hook yang melakukan push.

Oh, by the way, kamu memang can melewati argumen untuk shell alias. Jika anda ingin lulus kustom pesan komit, bukan menggunakan:

git config alias.acp '! acp() { git commit -a -m "$1" && git push ; } ; acp'

(Tentu saja, sekarang, anda akan perlu untuk memberikan pesan commit: git acp "Saya pesan masuk di sini!")

Tilman Vogel
Tilman Vogel
Jawaban edit 12 November 2019 в 2:17
47
0
Wayne Werner
Wayne Werner
25 Oktober 2013 в 4:44
2013-10-25T16:44:26+00:00
Lebih
Sumber
Sunting
#22622418

Saya pikir anda mungkin salah paham alur kerja yang git dirancang untuk. (Untuk memperjelas/benar apa yang saya maksudkan dalam komentar, anda don't perlu git add ., sejak commit biasanya melayani tujuan yang sama - menambahkan setiap perubahan yang belum dipentaskan, jika file telah ditambahkan)

Biasanya anda'll melakukan sesuatu seperti ini:

# make some changes
$ git commit -a -m "Changed something"
# make some more changes
$ git commit -a -m "Changed something else"

cuci, bilas, ulangi, sampai anda've selesai fitur X, atau anda'kembali pada titik berhenti, atau anda hanya ingin orang lain untuk melihat apa yang anda've dilakukan. Kemudian anda lakukan

$ git push

Git adalah tidak SVN - tapi tampaknya bahwa anda're mencoba untuk menggunakannya seperti itu. Anda mungkin menemukan beberapa sumber daya di akhir artikel di sini untuk digunakan.

35
0
Rajender Joshi
Rajender Joshi
2 Januari 2016 в 7:39
2016-01-02T19:39:35+00:00
Lebih
Sumber
Sunting
#22622428

Saya menggunakan ini pada saya .bash_profile

gitpush() {
    git add .
    git commit -m "$*"
    git push
}
alias gp=gitpush

Syaratnya, seperti

gp A really long commit message

Don't lupa untuk menjalankan source ~/.bash_profile setelah menyimpan alias.

Rajender Joshi
Rajender Joshi
Jawaban edit 10 Mei 2018 в 4:59
34
0
 vuhung3990
vuhung3990
24 Desember 2014 в 4:18
2014-12-24T04:18:19+00:00
Lebih
Sumber
Sunting
#22622425

Anda dapat menggunakan bash script , set alias untuk menjalankan perintah atau sekelompok perintah

git commit -am "your message" && git push 
25
0
 Gavin
Gavin
23 Februari 2014 в 10:10
2014-02-23T22:10:20+00:00
Lebih
Sumber
Sunting
#22622423

Ditetapkan sebagai alias di bash:

$ alias lazygit="git add .; git commit -a -m '...'; git push;";

Sebut saja:

$ lazygit

(Untuk membuat alias permanen, anda'd harus seperti itu .bashrc atau .bash_profile)

18
0
 michal.jakubeczy
michal.jakubeczy
9 Agustus 2018 в 11:40
2018-08-09T11:40:08+00:00
Lebih
Sumber
Sunting
#22622441

Simpliest solusi akan:

git commit -a -m "commit" && git push

git add sudah terkandung dalam parameter komit, tetapi jika anda ingin anda dapat menghubungkan mereka semua:

git add . && git commit -a -m "commit" && git push
15
0
 mcvkr
mcvkr
18 Desember 2017 в 9:35
2017-12-18T21:35:09+00:00
Lebih
Sumber
Sunting
#22622436

Di Linux/Mac, ini praktis banyak pilihan juga harus bekerja

git commit -am "IssueNumberIAmWorkingOn --hit Enter key
> A detail here --Enter
> Another detail here --Enter
> Third line here" && git push --last Enter and it will be there

Jika anda bekerja pada sebuah baru branch dibuat secara lokal, mengubah git push potongan dengan git push-u origin branch_name

Jika anda ingin mengedit pesan komit dalam sistem editor lalu

git commit -a && git push 

akan membuka editor dan setelah anda menyimpan pesan itu juga akan mendorong itu.

 mcvkr
mcvkr
Jawaban edit 28 Juni 2019 в 3:31
9
0
 Fries
Fries
28 Desember 2016 в 4:39
2016-12-28T16:39:35+00:00
Lebih
Sumber
Sunting
#22622433

Anda dapat mencoba gitu.

Untuk pertama kalinya (node js harus diinstal):

npm install -g git-upload

Setelah itu:

gitu COMMIT_MSG

Untuk mengeluarkan tiga perintah sekaligus.

Hal yang baik adalah bahwa anda don't perlu khawatir ketika anda menginstal ulang sistem anda atau ketika anda ingin melakukan hal ini pada komputer yang berbeda dan Tidak ada modifikasi file yang dibutuhkan. Ini juga bekerja pada platform yang berbeda (bukan hanya Linux dan Mac, tetapi juga Windows di bawah command prompt seperti cmd dan powershell) hanya bahwa anda harus menginstal npm dan indonesia (git tentu saja).

7
0
Peter Foti
Peter Foti
26 Oktober 2013 в 11:48
2013-10-26T23:48:41+00:00
Lebih
Sumber
Sunting
#22622422

Jika file sudah dilacak maka anda tidak perlu untuk menjalankan git add, anda hanya dapat menulisgit commit-am 'pesan'`

Jika anda tidak ingin menulis pesan commit anda mungkin mempertimbangkan untuk melakukan sesuatu seperti

git commit-izinkan-kosong-pesan -am ''

6
0
 cristianzamar
cristianzamar
23 Juni 2015 в 2:20
2015-06-23T14:20:42+00:00
Lebih
Sumber
Sunting
#22622426

Seperti yang disebutkan dalam ini menjawab, anda bisa membuat git alias dan menetapkan satu set perintah untuk itu. Dalam kasus ini, itu akan menjadi:

git config --global alias.add-com-push '!git add . && git commit -a -m "commit" && git push'

dan menggunakannya dengan

git add-com-push
3
0
Anang Hanafi
Anang Hanafi
17 Juli 2019 в 2:37
2019-07-17T02:37:16+00:00
Lebih
Sumber
Sunting
#22622445

Hasil

  • Coba ini: script Sederhana satu perintah git add, git git commit dan push

Buka CMD pada Windows dan paste jawaban ini

git commit-m "pesan anda" . && git push origin master`

Ini contoh gambar screenshot : https://i.stack.imgur.com/2IZDe.jpg

Anang Hanafi
Anang Hanafi
Jawaban edit 19 Juli 2019 в 2:26
3
0
Márcio  Souza Júnior
Márcio Souza Júnior
31 Maret 2016 в 3:16
2016-03-31T15:16:10+00:00
Lebih
Sumber
Sunting
#22622431

Saya menggunakan file batch:

@ECHO OFF
SET /p comment=Comment:
git add *
git commit -a -m "%comment%"
git push
2
0
Vaneet Kataria
Vaneet Kataria
4 April 2019 в 7:51
2019-04-04T07:51:50+00:00
Lebih
Sumber
Sunting
#22622443

Menulis sebuah script kecil bernama gitpush.sh dengan di bawah garis dan menambahkan anda ~ direktori.

echo $1
git add .
git commit -m "$1"
git push

Sekarang tambahkan alias di ~/.bashrc seperti di bawah ini :

alias gitpush='~/gitpush'

Sekarang dari setiap repositori git hanya menulis gitpush "pesan" .

Vaneet Kataria
Vaneet Kataria
Jawaban edit 4 April 2019 в 8:51
2
0
 Alfred
Alfred
11 Oktober 2019 в 8:15
2019-10-11T20:15:06+00:00
Lebih
Sumber
Sunting
#22622447

Jika anda menggunakan VSCode, anda dapat men-download ini ekstensi yang akan membiarkan anda melakukan hal itu di salah satu keyboard shortcut sederhana.

1
0
 Rubens
Rubens
6 Desember 2015 в 2:07
2015-12-06T14:07:04+00:00
Lebih
Sumber
Sunting
#22622427

Ada beberapa masalah dengan script di atas:

shift "menghilangkan" parameter $1, jika tidak, "mendorong" akan membaca dan "salah paham itu".

Tip saya :

git config --global alias.acpp '!git add-A && branchatu="$(git simbolis-ref KEPALA 2>/dev/null)" && branchatu=${branchatu##ref/kepala/} && git commit-m "$1" && shift && git pull-u asal $branchatu && git push-u origin $branchatu'

1
0
Rik  van der Heijden
Rik van der Heijden
16 Agustus 2016 в 11:30
2016-08-16T11:30:36+00:00
Lebih
Sumber
Sunting
#22622432

Bila anda ingin svn-seperti perilaku git commit, menggunakan ini dalam git alias anda .gitconfig

komit = "!f() { git commit \"[email protected]\" && git push; };f"

1
0
 Abushawish
Abushawish
24 Mei 2018 в 12:37
2018-05-24T00:37:28+00:00
Lebih
Sumber
Sunting
#22622439

Jika anda're menggunakan ikan shell (bangunan dari btse's jawaban):

Simpan file ini dalam '~/.config/ikan/fungsi' sebagai 'quickgit.ikan'. Membuat direktori jika itu tidak ada. '--git-dir=$PWD/.git' Memastikan bahwa kita menjalankan perintah git terhadap git proyek di mana kita disebut fungsi

function quickgit # This is the function name and command we call
    git --git-dir=$PWD/.git add . # Stage all unstaged files
    git --git-dir=$PWD/.git commit -a -m $argv # Commit files with the given argument as the commit message
    git --git-dir=$PWD/.git push # Push to remote
end

Me-Restart terminal, arahkan ke proyek, membuat perubahan, dan sekarang anda dapat memanggil 'quickgit "contoh pesan",'. Perubahan sekarang akan ditambahkan, berkomitmen, dan push :).

Juga dapat ditemukan sebagai Inti berikut: https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69

1
0
 skiggety
skiggety
24 Januari 2019 в 4:52
2019-01-24T16:52:23+00:00
Lebih
Sumber
Sunting
#22622442

Ada banyak solusi yang baik sudah, tapi di sini's solusi yang saya temukan lebih elegan untuk cara yang saya inginkan untuk bekerja:

Aku meletakkan script di jalan saya disebut "git-masukan" yang berisi:

#!/bin/bash
git commit "[email protected]" && git push -u

Yang memungkinkan saya untuk menjalankan:

git put-am"saya pesan commit"

..untuk menambahkan semua file, komit mereka, dan mendorong mereka.

(Saya juga menambahkan "-u" karena aku ingin melakukan ini lagi pula, meskipun itu's tidak terkait dengan masalah ini. Hal ini memastikan bahwa hulu cabang selalu diatur untuk menarik.)

Saya menyukai pendekatan ini karena hal ini juga memungkinkan untuk menggunakan "git menempatkan" tanpa menambahkan semua file (melewatkan "-"), atau dengan pilihan lain yang mungkin ingin saya lulus untuk melakukan. Juga, "menempatkan" adalah portmanteau dari "mendorong" dan "melakukan"

 skiggety
skiggety
Jawaban edit 5 Februari 2019 в 5:53
1
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
UbiBot UK
Terdaftar 15 jam yang lalu
2
Галина Утяшова
Terdaftar 1 hari yang lalu
3
Asilbek Qadamboyev
Terdaftar 4 hari yang lalu
4
Akshit Mehta
Terdaftar 1 minggu yang lalu
5
me you
Terdaftar 1 minggu yang lalu
ES
ID
JA
RO
RU
TR
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi