Saya ingin memperbarui penyimpanan online git Bitbucket saya dengan skrip apel. Ini adalah kode yang berfungsi di Terminal, tetapi tidak ketika saya menjalankan skrip apel.
cd /Users/mainuser/Desktop/Projects git add -A
git commit -m fromAppleScript
git push
dibuat menjadi skrip apel:
say "updating backup"
do shell script "cd /Users/mainuser/Desktop/Projects git add -A"
do shell script "cd /Users/mainuser/Desktop/Projects git commit -m fromAppleScript"
do shell script "cd /Users/mainuser/Desktop/Projects git push"
Saya agak bingung mengapa kode ini tidak berfungsi. Bisakah Anda membantu saya mengatasi masalah ini?
terminal
applescript
git
sanjihan
sumber
sumber
git push
?git
bisa sulit untuk dipelajari dan di-debug. Pertimbangkan menguasai langkah-langkah yang Anda inginkan melalui Terminal.app - dengan bantuan Buku Git . Dukungan BitBucket memberikan banyak contoh dan alur kerja untuk dicoba dan dipelajari. Setelah Anda memercayai proses itu, mengotomatisasi melalui AppleScript akan jauh lebih mudah.Jawaban:
Anda tampaknya menggunakan
git
sebagai cadangan sistem file. Sudahkah Anda mempertimbangkangit-annex
?Belajar
git
git
bisa sulit untuk dipelajari dan di-debug . Pertimbangkan menguasai langkah-langkah yang Anda inginkan melalui Terminal.app - dengan bantuan Buku Git .Dukungan BitBucket memberikan banyak contoh dan alur kerja untuk dicoba dan dipelajari. Setelah Anda memercayai proses itu, mengotomatisasi melalui AppleScript akan jauh lebih mudah.
Memperbaiki Script Shell
Untuk membantu Anda, ada masalah dengan AppleScript. Skrip yang diteruskan untuk melakukan skrip shell akan menghasilkan kesalahan:
Dalam kutipan ini Anda mengeluarkan dua perintah: satu untuk mengubah direktori, dan yang kedua untuk menambahkan file ke git. Kedua perintah ini harus dipisahkan dengan tanda titik koma:
Pendekatan yang lebih baik lagi, adalah dengan mengikat perintah bersama
&&
. Ini berarti bahwa jika perintah pertama gagal, perintah kedua tidak dilakukan. Pendekatan ini berkaitan dengan masalah direktori yang hilang atau diganti namanya:Atau, untuk menghindari kekhawatiran direktori yang berfungsi, coba lewati path lengkap ke
git
perintah:sumber