配置
修改已提交commit的用户名和邮箱<br />
① 增加如下文件到项目根目录,并执行
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="被修改的提交者邮箱"
CORRECT_NAME="新的名字"
CORRECT_EMAIL="新的提交者邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
② 执行如下命令推向远程
git push --force --tags origin 'refs/heads/*'
官方推荐做法可参考如下:
https://help.github.com/en/github/using-git/changing-author-info
git status改动的文件中文乱码
\347\231\276\345\272\246
这样的是八进制字符
解决办法:git config --``global`` core.quotepath ``false
每次提交都要输入账号密码?
1、可能你设置的远程仓库是https的,这样的情况下编辑config文件增加如下
[credential] helper = store
2、其实设置远程仓库的地址为git协议的,就能用SSH key 访问账号了,这样如果之前你设置了key保存在你github账号里,就不用每次输入密码了。
分支管理
- 本地新建分支
git checkout -b newBranch
- 分支重命名
git branch -m oldName newName
- 删除远程分支
git branch --delete origin branchName
- 删除本地分支
git branch -d branchName
- 本地分支推到远程
git push origin dev:dev
将本地dev分支与远程dev分支关联
git branch --set-upstream-to=origin/dev dev
Tag管理
git tag
//查看taggit push origin test_tag
//!!!本地tag推送到线上git tag -d test_tag
//本地删除taggit push origin :refs/tags/test_tag
//本地tag删除了,再执行该句,删除线上tag
github如何增加一种开源协议
找到仓库首页,create file > 输入 LICENSE
,右边就会出现原则协议的按钮,然后根据提示操作即可
分支管理流程
踩坑记录
fatal: The remote end hung up unexpectedly
推送文件过大,可以修改设置
git config --global http.postBuffer 524288000
or
git config --global http.postBuffer 1048576000