Saya mencoba menjalankan git dari direktori berbeda dari saya. Jadi misalnya jika saya ada di:
cd /home/domain/
git status << runs perfect ie
# On branch master
# Your branch is ahead of 'origin/master' by 6 commits.
Jadi sekarang saya ingin menjalankan perintah ini dari direktori yang berbeda menggunakan --git-dir
opsi.
Jadi katakanlah saya masuk root/
dan coba ini:
git --git-dir="/home/domain/" status
## Error
fatal: Not a git repository: '/home/domain/'
Saya juga mencoba memasukkan .git
folder yaitu
git --git-dir="/home/domain/.git/" status
Tapi ini sepertinya sedang mencoba menjalankan git dari root, yaitu menghapus semuanya dari folder domain saya dan menambahkan semuanya di root.
Semoga seseorang dapat memberi saran tentang apa yang saya lakukan salah.
--git-dir
dan--work-tree
untuk perintah sederhana: lihat jawaban saya di bawah iniJawaban:
Anda harus mendefinisikan direktori kerja juga. Bingung saya tahu tapi itu hal yang fleksibel.
Anda dapat membaca lebih banyak di sini
sumber
--git-dir
tidak ditentukan, itu akan memeriksa apakah/mycode/.git
ada dan menggunakannya sebelum melempar kesalahan.git --git-dir=~/src/s3cmd/.git --work-tree=~/src/s3cmd pull
tidak berfungsi tetapigit --git-dir=/home/username/src/s3cmd/.git --work-tree=/home/username/src/s3cmd pull
tidakgit --git-dir="$HOME/foo/.git" --work-tree="$HOME/foo" status
Mulai git 1.8.5 (yang seharusnya keluar minggu depan), itu bahkan akan lebih sederhana:
Tidak perlu diatur
--git-dir
dan--work-tree
lagi!Lihat commit 44e1e4 oleh Nazri Ramliy :
sumber
git status -C <path>
akan bekerja!)Berdasarkan komentar Anda di atas, sepertinya Anda masih mengalami masalah:
Sepertinya Anda berniat untuk menjalankan ini dari
crontab
atau sesuatu. Anda mungkin lebih baik menggunakancd
untuk beralih ke direktori kerja Anda terlebih dahulu. Sebagai contoh:Ini akan sementara (dalam subkulit, yang merupakan tanda kurung) untuk mengubah direktori saat ini
/home/domain
, dan kemudian jalankangit pull origin master
. Setelah perintah selesai, direktori Anda saat ini tetap apa pun itu sebelum perintah.sumber
Dengan Git 2.26 (Q1 2020), dokumentasi lebih jelas.
Salah satu efek dari menentukan di mana
GIT_DIR
ada (baik dengan variabel lingkungan, atau dengan opsi "git --git-dir=<where> cmd
") adalah menonaktifkan penemuan repositori .Ini telah menempatkan sedikit lebih banyak tekanan dalam dokumentasi, karena pengguna baru sering menjadi bingung.
Lihat komit d82ad54 (30 Jan 2020) oleh Heba Waly (
HebaWaly
) .(Digabung oleh Junio C Hamano -
gitster
- dalam komit 17e4a1b , 12 Feb 2020)Jadi dokumentasi untuk
git --git-dir
saat ini meliputi:sumber