從暫存區撤回修改
reset命令可以用來重置暫存區,主要用於被重置add的部分。如果add命令之後,這個檔案有了其他修改,那麼這些修改有可能會丟失。
git reset head .
git reset head foo.txt
儲存修改
我們可以用stash命令,將工作區和暫存區的修改儲存在乙個儲藏棧中。
git stash
恢復被儲藏的修改
我們可以用這個命令將儲藏的修改恢復到工作區中
git stash pop
//檢查儲存了哪些內容
git stash list
執行切換分支的命令被拒絕該怎麼辦?
有時候如果工作區域還有一些修改,這個時候去切換分支,就會被拒絕。解決的方式有三種。第一種是提交現有的修改,然後切換。第二種是強制切換。第三種儲藏的修改並切換分支。
git commit --all
git checkout a-branch
git stash
git checkout a-branch
//做一些修改並提交,在切回原來的分支
git stash pop
重置分支指標
分支指標每一次提交時都會移動到最新的提交上。通常情況下不太需要去設定分支指標。但是有時候我們會丟失的鈣質人的。追蹤想要恢復到之前的狀態,就需要通過重置分支指標來實現。注意它與
git reset --hard 39rt54b
注意這個命令會覆蓋當前工作區和暫存區所有的修改,最好使用git stash 來儲存一下修改。
快速合併,開發者們在a分支下進行開發,而b分支上什麼都不做。當b與a進行分支合併的時,git就變得非常簡單。但是這樣的合併並不會產生新的commit節點。
git merge --no--ff a-branch
這個命令可以強制產生一次新的提交。
將git提交複製到其他地方,儘管修改與元資料保持不變。但是複製的結果會產生乙個新的提交。這種方式被稱為複製提交。通常複製提交有兩個命令,git rebase和git cherry-pick
git rebase
通常這個命令你用來理順歷史提交,或者將乙個分支上的提交複製到另乙個分支上。
git rebase master --onto release1
解釋: 當前分支是feature-a master是原分支 release1 目標分支。 git會確認活動分支上所有不屬於原分支的提交,通過–onto選項將這些提交拷貝目標分支。如git學習指南上的60頁圖8-3
cherry-pick
摘櫻桃,主要用於撿取操作。如將一些bug的修復傳遞到各個不同的發行版本中。還有另一種應用,從即將刪除的分支中轉移一些有用的提交。
建立乙個普通標籤
git tag 1.0.0 master -m "發布的第乙個版本"
推送某個單一標籤
git push origin 1.0.0
檢視某個特定的功能,或者bug修復是否包含在客戶所安裝的那個版本。
git tag --contains f63cd77
找回丟失的修改
只要我們找到丟失的修改就可以通過cherry-pick命令和rebase命令將丟失的提交找回來。
忽略一些已被版本化的檔案
通常我們不希望一些修改被版本化,我們可以臨時性的忽略這個檔案。
git update-index --assume-unchange foo.txt
//暫時忽略這個檔案。以後的add 或者 status 就不會被顯示發生的修改
git update-index --really-refresh
//停止臨時性忽略
Git的常用操作命令
git是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理。下面我將總結的一些常用的命令列出,有不足的地方希望指出。全域性配置 安裝git完成後,首先進行全域性配置 git config g...
git常用的操作命令
最近都在惡補一些知識,git也只會一些基本的操作。下面是記錄一下自己最近學習到的一些git的命令操作 先是基礎點的命令 git status 檢視當前所有操作狀態,新增修改刪除等等git diff 檢視修改過的檔案的具體修改內容 新增的檔案檢視不了 git checkout 分支名 切換到另外乙個分...
Git的常用操作命令
git的常用操作命令 git是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理。下面我將總結的一些常用的命令列出,有不足的地方希望指出。全域性配置 安裝git完成後,首先進行全域性配置 g...