Git 命令
Git 日常命令收集,对平常使用的 git
命令及版本管理中遇到的问题进行梳理。
文中 { }
包含的部分表示变量参数,如 {git-url}
指的是远程 git
地址,[ ]
包含的部分指的是这部分命令是可以省略的。
撤销操作
在 git add
之前,文件未进入暂存区时,(撤销工作区修改)
1 | $ git checkout -- filename.txt |
在 git commit
之前,文件未到达远端时,(撤销暂存区修改)
1 | # 将文件放回工作区 |
git config 用户配置查看及更改
1 | # 查看 |
git init
1 | git init |
git clone
1 | git clone [-b {branch-name}] {git-url} [{dest-dir}] [--depth 1] |
git remote 查看和更改远程
1 | # 查看远程仓库名 |
git branch 分支
1 | # 删除分支 |
git tag 标签
1 | # 显示所有 tag |
git stash 暂存
暂存已经 add
的修改,可以选择在其他合适的时机,将暂存提取应用到当前分支
1 | git add -A # 首先应该执行 add 命令,才能执行 stash |
git log 查看日志
1 | git reflog # 查看命令历史 |
git reset 重置
1 | git reset --hard HEAD^ # 重置到上一次提交 |
git rm
删除远程文件夹
1 | git rm -r --cached {dirname} |
更改 .gitignore
后无法生效的问题,原因是 .gitignore
只能忽略那些原来没有被 track
的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore
是无效的。那么解决方法就是先把本地缓存删除,改变成未 track
状态,然后再提交
1 | git rm -r --cached . |
git gc 仓库清理
1 | git gc |
git subtree 子模块管理
使用 git subtree
命令适合管理那些迭代较为频繁的子模块,效果就是开发过程中协作中的其他人可以完全透明的跟原来一样进行提交和拉取,在这部分协作者看来子模块并没有自己的 git
管理,而只有子模块的管理者会定期将子模块的修改同步到子模块的仓库中。
在命令开始之前,我们假设我们在一个 git
项目中,我们称之为主项目,现在要添加一个公用的子模块,它既要加入到当前项目的 git
仓库中,又能独立更新自己所在的远程仓库。
1 | # 首先添加仓库别名 |
Fix
解决 fix fatal: cannot do a partial commit during a merge.
的问题,这个问题是出现在合并代码时出现问题,分支一直处于 merging
状态无法提交的问题。
1 | git commit -i * -m "message" |
解决 Unable to create '.git/index.lock': File exists
问题,删除 lock
文件
1 | rm -f ./.git/index.lock |
目前维护的几个项目,求 ✨✨✨✨
- SocialSdk 登录分享功能原生接入
- LightAdapter 轻量级适配器
- ImageEditor 图片处理,裁剪旋转,贴纸涂鸦,滤镜等
- WeexCube Weex 容器方案
- Kotlin 学习系列总结,共计 22 篇
- 本文链接: http://cdevlab.top/article/b51d9f8e/
- 版权声明: 版权所有,转载请注明出处!
------ 本文结束 🎉🎉 谢谢观看 ------