Git 學習筆記

Push

  • 欲將 local 端的分支 push 至 remote 的某個分支,可以使用:$ git push remote local_branch:remote_branch,可以用 $ git remote 查詢目前 repo 中所存在的 remote 有哪些。

Stash

stash 這個指令是將檔案有 異動 的部份 暫存 起來,爾後有需要的時候可以再拿出來套用,這對某些情況相當有幫助,以下提供幾個自己的 use case:

  • 要 pull 別人的 commit 到現在的 branch 時,若是有些功能還沒修改完成,可以先將目前狀態下的檔案利用 stash 指令暫存起來,待完成 pull 後再 apply 之前所暫存的 stash,繼續先前未完成的工作。
  • 共同開發一個專案時,譬如一個 Android 專案,可能每個人的 workspace 有所不同(很正常,因為通常不同開發者的 Home 目錄總不會相同名字吧!),因此導致 library 再 BuildPath 中路徑的錯誤,我們可以將錯誤的路徑修正後,利用 stash 指令暫存 AndroidManifest.xml 檔在本地端,這樣只要以後有 pull 新的 commit 進來,我們只需要 apply 先前暫存的這份 AndroidManifest.xml 便可以避免在一次的路徑錯誤了!
  • 共同開發 Android Projec 時,因為各自的 debug.keystore 都不同,所以若是有利用到像是 Google Map API v2 時,每個開發者會需要對應到自己 debug.keystore 的一組 API Key,這也需要寫入在 AndroidManifest.xml 這個檔案中,這時利用 stash 指令的暫存機制,便相當方便!

使用情境

  • 查看某特定檔案的 commit 歷史記錄:git log -- [filename]
comments powered by Disqus