[英]Git - How to go back in history and create a commit between two commits
[英]Go back N commits in Git to find commit that causes test regressions
是否有一條命令可以讓我根據其與當前提交的距離而不是使用提交ID來檢出提交?
基本上,我正在考慮設置cron作業類型腳本以在構建服務器上執行以下操作:
我對如何將它們鉸接在一起有一個粗略的想法,但是除非我可以定期回退一次提交,否則它將無法工作。
如果沒有特定的命令,我想我可以對提交日志進行grep並每次獲取第一個?
我感謝任何想法或幫助!
不同於: 如何撤消Git中的最后一次提交?
我想返回“ N”次提交。
git checkout HEAD~N
將在您當前的提交之前簽出第N個提交。
如果您的歷史記錄中有合並提交,那么您可能會感興趣
git checkout HEAD^N
這將檢出合並提交的第N個父級(大多數合並提交有2個父級)。
因此,要始終在所有合並提交的第一個父級之后返回一個提交:
git checkout HEAD^1
您可能也對git bisect
感興趣-通過二進制搜索查找引入錯誤的更改。
如果提交的次數比引入錯誤的提交的次數大得多,則遍歷每個提交並運行測試的效率可能非常低。 無需針對歷史記錄中的每個提交運行測試,只需查找導致錯誤的提交即可! 您確實應該查看git bisect
,尤其是git bisect run
。
該問題表明,您要查找自歷史記錄以來引入錯誤的每個提交,而不僅僅是最近引入的。 我認為您不能通過調用git bisect
來做到這一點; 您必須將其放在一個小腳本中循環播放。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.