说明:
例如将代码提交到git仓库,将一些敏感信息提交,所以需要删除提交记录以彻底清除提交信息,以得到一个干净的仓库且代码不变
1.Checkout
1 | $ git checkout --orphan latest_branch |
2. Add all the files
1 | $ git add -A |
3. Commit the changes
1 | $ git commit -am "commit message" |
4. Delete the branch
1 | $ git branch -D master |
5.Rename the current branch to master
1 | $ git branch -m master |
6.Finally, force update your repository
1 | $ git push -f origin master |
git 主干和分支同步
1、远程分支
1 | 查看当前的远程分支 |
2、增加远程分支
1 | $ git remote add latest https://github.com/xxlaila/work.git |
3、更新主库的远程分支
1 | 更新远程分支 |
4、合并主库的最新代码
1 | 合并主库的最新代码 |
5、推送本地代码到自身远程仓库
1 | 推送远程仓库 |
git 代码信息统计
说明: 公司每个季度都要对公司开发人员的工作量进行整体评估,评估git上所有代码库的commit数量和修改文件的总行数
统计时间区间commit数量
1 | git log --oneline --since==2019-04-1 --until=2019-06-30 | wc -l |
统计添加修改的代码行数
1 | git log --stat --since="2019-4-01" --before="2019-06-30" |perl -ne 'END { print $c } $c += $1 if /(\d+) insertions/' |
git stash使用
场景:
今天遇到一个特殊的场景,写的一个python程序到服务器上有一个小bug运行报错,然后就直接在服务器上调试,修改了程序,程序正常跑起,然而本地也要修改,修改的时候同时修改了其他的地方,然后提交了git上,这时,需要在服务器上更新最新的代码,但是服务器上的代码和git上的不一致,这就会导致错误,这时git的强大之处就体现出来了。
1 | $ git status |
- 更新代码
1
$ git pull
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
注:
该命令将堆栈中最近保存的内容删除(栈是先进后出)
1 | $ git stash pop |
更多的git stash 命令详解请点击