git清空commit记录方法

说明:
    例如将代码提交到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
查看当前的远程分支
$ git remote -v

2、增加远程分支

1
$ git remote add latest https://github.com/xxlaila/work.git

3、更新主库的远程分支

1
2
更新远程分支
$ git fetch latest

4、合并主库的最新代码

1
2
合并主库的最新代码
$ git rebase latest/dev

5、推送本地代码到自身远程仓库

1
2
推送远程仓库
$ git push

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
2
$ git status
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
  • 更新代码
    1
    $ git pull

将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。

注:
    该命令将堆栈中最近保存的内容删除(栈是先进后出)

1
$ git stash pop

更多的git stash 命令详解请点击

坚持原创技术分享,您的支持将鼓励我继续创作!
0%