前言
本篇记录一些git使用的方法
使用用例
不进入git的目录执行命令
git --git-dir=`pwd`/statusfile/.git --work-tree=`pwd`/statusfile/ pull
通过–git-dir和–work-tree指定目录以后在外部可以执行git的命令,适合脚本里面使用
不同的地址不同的用户同时保存git密码
进入到git目录里面,给git指定
git config credential.helper 'store --file /root/.git-1-credentials'
另外一个项目进入到git项目里面
git config credential.helper 'store --file /root/.git-2-credentials'
查询当前项目的配置
git config --list
git清理所有历史提交
目前碰到一个问题,使用git作为监控数据的历史版本管理,出现条目太多了,影响了提交获取的性能,需要清理提交记录
1、创建新分支
git checkout --orphan <new_branch>
–orphan 是一个空分支,用于提交新的分支
2、添加所有文件
git add .
3、commit文件
git commit -m "自定义提交说明"
4、删除原来的主分支
git branch -D master
5、把当前分支重命名为master
git branch -m master
6、把代码提交到远程的仓库
git push -f origin master
如果提示设置分支名称,就设置下面的
git branch --set-upstream-to=origin/master master
7、删除掉本地的当前目录,然后拉取git库
git clone
这就完成了git库的历史提交的所有提交删除
git 清理到指定的提交
1、找到想替换的commit
git log --oneline
2、打个标记
echo "clean"|git commit-tree d64e451^{tree}
得到commit id
3、把提交的标记rebase到指定的id了
git rebase --onto ff975a5d20 d64e451
4、覆盖提交
git push -f
上面的操作以后就完成了指定提交点之前的删除工作了