首页
学习
活动
专区
圈层
工具
发布

git命令使用笔记3

❝记录到日常有用到的git命令。❞

1.关联远程分支

  我在本地建了一个分支debug,提交debug分支到远程仓库出现下面的问题。

代码语言:javascript
复制
$ git push
fatal: The current branch debug has no upstream branch.
To push the current branch and set the remote as upstream, use
    git push --set-upstream origin debug

  意思是:当前分支没有与远程分支关联。因此提交代码失败。 &emps; 「解决方法按提示键入命令」

代码语言:javascript
复制
git push --set-upstream origin debug

2.修改已提交的用户名和邮箱

2.1 修改全部commit。

代码语言:javascript
复制
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='作者'; GIT_AUTHOR_EMAIL='作者邮箱'; GIT_COMMITTER_NAME='提交者'; GIT_COMMITTER_EMAIL='提交者邮箱;" HEAD

2.2 修改最后5个commit。

代码语言:javascript
复制
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='作者'; GIT_AUTHOR_EMAIL='作者邮箱'; GIT_COMMITTER_NAME='提交者'; GIT_COMMITTER_EMAIL='提交者邮箱';" HEAD~5..HEAD

2.3 强制合并远程仓库(谨慎操作)。

代码语言:javascript
复制
git push origin master -f
git push origin --force --all

3. 解决二进制文件冲突方法

  • 保留本地文件。
代码语言:javascript
复制
git checkout --ours 冲突文件
  • 保留远端文件。
代码语言:javascript
复制
git checkout --theirs 冲突文件

4. 强制清空仓库(谨慎操作)

代码语言:javascript
复制
git reset --hard
git push origin master -f

5. 截取log

代码语言:javascript
复制
git log --oneline --decorate --no-merges --after="2020-01-01" | awk '{$1="";print $0}'

6. 提取指定分支纯净包

代码语言:javascript
复制
git archive --output "./target.zip" master
举报
领券