最新更新時間:2020年03月12日12:09:55
《猛戳-查看我的博客地圖-總有你意想不到的驚喜》
本文內容:git常用命令
fsck
- git fsck
fill system check
文件系統檢查,用來對本地和遠程倉庫的一致性檢查,dangling objects
懸空對象
在懸空對象列表中,使用git show commitId
查看懸空記錄的詳情,git merge commitId
即可恢復
reflog
- git reflog
reference log
引用日誌,查看本地本地的所有操作記錄,每個分支上查看的結果一樣,最早的一條記錄是clone: from http://***.git
,ctrl+z
退出查看模式
包含刪除本地分支和遠程分支的記錄
- 引用日誌記錄包含以下幾種情況
- pull
- Fast-forward 快進
- Merge made by the ‘recursive’ strategy. 遞歸合併策略
- merge develop: Fast-forward
- commit
- commit (merge)
- checkout
- moving from master to master 分支名相同表示刪除記錄
- moving from develop to master
- moving from commit_id to branch_name
- moving from branch_name to tag_name
- merge branch_name
- Fast-forward
- Merge made by the ‘recursive’ strategy.
- reset
- moving to HEAD
- moving to feature_camera
- 恢復刪除的遠程分支
git reflog
查看刪除的遠程分支操作的commit_id
git checkout -b recover_branch_name commit_id
創建新分支方案一
git branch recover_branch_name HEAD@{number}
創建新分支方案二
git push origin recover_branch_name
提交到遠程倉庫
- 以標準時間顯示
git reflow --date=iso
70cb580 HEAD@{2020-02-25 15:14:31 +0800}: checkout: moving from master to master
不加--date=iso
參數,則以標號顯示,如下
70cb580 HEAD@{0}: checkout: moving from master to master
實用技巧
git branch -r
還可以看到已經被刪除的遠程分支
git remote prune origin
同步本地倉庫和遠程倉庫信息,將遠程倉庫中已經被刪除分支的信息,同步到本地倉庫
- 遠程分支已經被刪除,本地分支還存在
git remote prune origin
同步本地倉庫和遠程倉庫信息,即可刪除本地分支
git pull -p
- 查看遠程倉庫全部信息
git remote show origin
可以看到遠程倉庫地址、遠程分支、本地分支
git remote -v
查看遠程倉庫地址
- 根據指定
commit_id
創建分支
git checkout -b new_branch_name commit_id
- 根據指定
tag_name
創建分支
git checkout -b new_branch_name tag_name
- 切換到指定的
tag_name
git checkout tag_name
- 切換到指定的
commit_id
git checkout commit_id
- 合併代碼衝突詳情
git checkout A
git merge B
<<<<<<< HEAD
A分支的內容
=======
B分支的內容
>>>>>>> B
恢復刪除的本地和遠程分支
刪除的分支可以通過
commitId
和HEAD@{number}
找回
- 從代碼倉庫的
activity
欄查找已刪除分支的 feature_name 的操作記錄,可以查看到最後一次的commit
記錄,通過如下命令進行恢復
git checkout -b feature_delete_name commitId
- 通過
git reflog
查看已刪除分支的 feature_name 的操作記錄,可以查看到最後一次的commitId
和HEAD@{number}
記錄,通過如下命令進行恢復
git checkout -b feature_delete_name HEAD@{number}
倉庫遷移
將
http://wangit.wsb.cn/fe/webview.git
遷移到http://gitlab.wsb.cn/fe/webview.git
,包括所有分支、標籤和日誌,操作步驟如下:
- git clone --bare http://wangit.wsb.cn/fe/webview.git
- cd webview.git
- git push --mirror http://gitlab.wsb.cn/fe/webview.git
參考資料
- 無
感謝閱讀,歡迎評論^-^