mingw命令行操作
插入模式:i
命令模式:":"
保存退出:wq
日常操作
提交當前目錄下所有修改
set MSG="Auto Sync "%date:~0,10%-%TIME:~0,8%
git commit -a -m %MSG%
git push
將當前內容創建為分支:git branch xxx;git checkout xxx;git push --set-upstream origin xxx
顯示所有git命令
git
查看某個git命令的幫助,例如查看commit
git commit -h
丟棄最近一次的commit
git reset —soft HEAD~1
當commit后發現與遠程庫沖突,可以使用
查看當前倉庫對應的遠程倉庫地址
git remote -v
查看當前提交狀態
git status
丟棄所有
git reset -q —hard HEAD
添加文件
git add -f — filepath1 filepath2
Commit文件
git commit -q —author “user“
Push
git push -v origin master:master
重定向遠程地址:
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
查看
查看本地和遠程倉庫分支
git branch -a
查看當前倉庫對應的遠程倉庫地址
git remote -v
查看當前提交狀態
git status
查看遠程倉庫信息
git remote show origin
查看命令用法
git help
提交操作
回退提交
創建一個叫做“feature_x”的分支,并切換過去
git checkout -b feature_x
切換回主分支:
git checkout master
再把新建的分支刪掉:
git branch -d feature_x
除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:
git push origin
合并其他分支到你的當前分支(例如 master),執行:
git merge
標記為合并成功:
git add
在合并改動之前,你可以使用如下命令預覽差異:
git diff
合并提交或改名
git commit amend
已提交進行合并(rebase)
git rebase -i
遠端
添加遠端
git remote add skynet
刪除遠端
git remote remove skynet
查看其他遠端操作
git remote —help
刪除標記
git tag -d v0.4.2
分支
查看分支
git branch
創建分支
git branch testing
切換分支
git checkout testing
刪除分支:
git branch -d testing
合并
- git checkout master
- git merge iss53
解決沖突工具
git mergetool
子模塊
添加子模塊
git submodule add skynet
克隆一個帶子模塊的項目
先clone主工程
git clone git://github.com/schacon/myproject.git
然后初始化submodule
git submodule init
最后更新submodule,拉去數據
git submodule update
更新子模塊
在子模塊獨立更新后,感知更新信息,每次主工程需要進場更新
git submodule update —init —recursive
查看誰最后變更了子模塊
git log -1 skynet
Branch和Tag可以看成Name,Hash看成是Key
子工程的修改與提交
首先正常修改主工程和子工程。主工程與子工程要分別單獨提交。
—解決合并
子工程提交后,主工程會產生一個與這個子工程相關的提交,用于將標記使用了子工程的某個sha-1快照。
刪除清理
去除冗余文件
git clean
移除工作目錄中所有未追蹤的文件以及空的子目錄
git clean -f -d
刪除tag
git -c diff.mnemonicprefix=false -c core.quotepath=false tag -d 4.10.0-preview-3
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v origin :refs/tags/4.10.0-preview-3
查看tag
git tags
查看已刪除的tag
git fsck —unreachable | grep tag
unreachable tag 01d3a20163991ce31a334bd8eddba434c09a4f24
unreachable tag 08bd03e6168b7c6bd4150f56cfd113ca50cd4219
恢復刪除的tag
git update-ref refs/tags/4.13.0-release 01d3a20163991ce31a334bd8eddba434c09a4f24
查看key的name
git show key
比較
todo
冷僻
“-c”與”-C”
-C
-c name=value
知識點
想看上一次提交,你可以使用 HEAD^,意思是“HEAD 的父提交”
HEAD~ 和 HEAD^ 是等價的
名詞
rebase 衍合
staged 暫存
提交大文件
提交大文件報錯:
error: RPC failed; result=22, HTTP code = 411
設置提交文件大小上限(500MB)
git config http.postBuffer 524288000