章節 19 修正送交
學習目標
- 了解如何修正已存在的送交。
編輯程式然後送交 01
加入一行作者資訊的註解到程式中。
檔案: hello.rb
# Default is World # Author: Jim Weirich name = ARGV.first || "World" puts "Hello, #{name}!"
執行:
git add hello.rb git commit -m "Add an author comment"
哎呀, 我忘記加上 Email 02
在您送交之後,您覺得一個比較適當的作者資訊應該包含Email。 接著編輯 hello 程式把 Email 資訊加進去。
檔案: hello.rb
# Default is World # Author: Jim Weirich (jim@somewhere.com) name = ARGV.first || "World" puts "Hello, #{name}!"
修改上一個版本的送交 03
我們真的不想分離出這次的送交只因為我們忘了打上Email。 這個時候我們可以修正上一個版的註解並且把這次的修改整合到這個版本。
執行:
git add hello.rb git commit --amend -m "Add an author/email comment"
輸出:
$ git add hello.rb $ git commit --amend -m "Add an author/email comment" [master 9c78ad8] Add an author/email comment 1 files changed, 2 insertions(+), 1 deletions(-)
再次檢視歷史紀錄 04
執行:
git hist
輸出:
$ git hist * 9c78ad8 2012-03-06 | Add an author/email comment (HEAD, master) [Jim Weirich] * 4054321 2012-03-06 | Added a comment (v1) [Jim Weirich] * 1b754e9 2012-03-06 | Added a default value (v1-beta) [Jim Weirich] * 3053491 2012-03-06 | Using ARGV [Jim Weirich] * 3cbf83b 2012-03-06 | First Commit [Jim Weirich]
我們可以看到原來的“author”版本的送交已經不見了。取代他的是“author/email”這個版本。 當然如果您重置到上一次的送交( git reset )在送交一次版本也可以達到同樣的效果,但這招看起來比較迅速方便。