(聲明:我之前發佈了類似的問題:In a ruby script, how to ask git to open its message editor。我決定將此作爲單獨問題發佈,因爲我認爲這個問題更通用,因此可能更適用於其他程序員。我不停的git的相關問題,因爲我不知道答案在這裏可以申請有太多。如果有反對這個規則,讓我知道)在紅寶石腳本中打開文本編輯器
我目前工作的一個命令行紅寶石的寶石,自動化在https://gist.github.com/jbenet/ee6c9ac48068889b0912討論的「重新加載+不合並」工作流程。您可以在https://github.com/gsmendoza/git_pretty_accept/tree/git_pretty_accept找到該寶石的WIP代碼。寶石會做這樣的事情:
`vi some_temp_file.txt`
`git co master`
`git pull`
`git co pull_request`
`git rebase master`
`git co master`
merge_message = File.read('some_temp_file.txt')
`git merge --message "#{merge_message}" --no-ff pull_request`
`git push`
`git branch -d pull_request`
`git push origin:pull_request`
當我嘗試通過Ruby來運行這些Git命令,vi some_temp_file.txt
不打開文本編輯器,就像我希望它會。相反,我看到一個警告「Vim:警告:輸出不是到終端」,腳本只是掛起。
任何想法?
謝謝!所以這就是反引號和'system'的區別:) – gsmendoza