Git命令大全


git常识
- Git专用名词
1
2
3
4
5Workspace: 工作区
Index / Stage:暂存区
Repository: 仓库区(或本地仓库)
Remote: 远程仓库
branch: 分支
git常用命令
添加当前目录的所有文件到暂存区
1 | git add . |
提交暂存区到仓库区
1 | git commit - m [message] |
推送本地指定分支到远程仓库
1 | git push [remote] [branch] |
也可以将以上命令用连接符
&&连接起来一起执行
git其它命令
强行推送当前分支到远程仓库,即使有冲突
1 | git push [remote] --force |
例如,进入分支source目录下,执行如下命令,推送本地source覆盖远程source:1
git push origin source --force
或者1
git push origin source:source -f
取回远程仓库的变化,并与本地分支合并
1 | git pull [remote] [branch] |
下载一个项目和它的整个代码历史
1 | git clone [url] |
git中提交了想要忽略的文件,如何再删除
1 | git rm --cached 文件 |
1 | git rm --cached 文件夹 -r |
-f 表示强制删除
-r 表示递归删除
删除完成后提交修改,远程git仓库里想要忽略的文件就会成功删除。
从仓库中删除文件/文件夹,以及历史记录
- 从仓库中删除文件
1
git filter-branch --force --index-filter 'git rm --cached -r --ignore-unmatch xxOffline/download' --prune-empty --tag-name-filter cat -- --all
com/download 表示要删除的文件或文件夹的相对路径(相对于git仓库的跟目录)
-r 表示如果删除文件夹,则递归删除(子)文件夹和文件夹下的所有文件 - 推送修改后的仓库
1
git push origin --force --all
- 清理和回收空间
1
rm -rf .git/refs/original/
1
git reflog expire --expire=now --all
1
git gc --prune=now
1
git gc --aggressive --prune=now
FAQ
- git SSL certificate problem: unable to get local issuer certificate-解决问题
问题描述:
git获取或推送项目的时候提示git SSL certificate problem: unable to get local issuer certificate
问题是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。
解决办法:1
git config --global http.sslVerify false