git 常用操作

技术 置顶 精帖
0 608
peng49
peng49 2021-10-15 18:00:38
 

add 后撤销指定文件

先查看add的所有文件

git status

撤销所有文件

git reset HEAD

撤销指定文件

git reset HEAD 文件全路径

强制合并

强制合并master分支到当前分支,冲突代码以master为准

git merge master --strategy-option=theirs

查看指定commit变动

git show commitId

通过添加 --reverse倒叙显示git log内容

git log --reverse

从指定时间开始显示日志,并倒叙显示

git log --since="2020-11-22" --reverse

git log日期格式化

  1. git config --global log.date format:'%Y-%m-%d %H:%M:%S'

批量修改已提交的commit的作者和邮箱【多人开发时不要使用该命令】

How can I change the author name / email of a commit?

  1. git filter-branch --env-filter 'WRONG_EMAIL="旧邮箱"
  2. NEW_NAME="新用户名"
  3. NEW_EMAIL="新邮箱"
  4. if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
  5. then
  6. export GIT_COMMITTER_NAME="$NEW_NAME"
  7. export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
  8. fi
  9. if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
  10. then
  11. export GIT_AUTHOR_NAME="$NEW_NAME"
  12. export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
  13. fi' --tag-name-filter cat -- --branches --tags

修改完成之后如果需要推送到github,使用--force强制推送

  1. git push --force

获取指定行的提交记录

  1. # 获取 src/ctrl/user/menu.php 1到3行的提交记录
  2. git blame -L 1,3 src/ctrl/user/menu.php
  3. # 获取 src/ctrl/user/menu.php 第3行的提交记录
  4. git blame -L 3,3 src/ctrl/user/menu.php

git修改提交时间

https://codewithhugo.com/change-the-date-of-a-git-commit/

回帖
登录
忘记密码?