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