git历史commit用户名密码修改

1
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='SimilarSu'; GIT_AUTHOR_EMAIL='similarsu@qq.com'; GIT_COMMITTER_NAME='sutong'; GIT_COMMITTER_EMAIL='821192673@qq.com';" HEAD

其中GIT_AUTHOR为新的,GIT_COMMITTER为老的

git bug分支流程

背景

1
正式版本1.0.0发布后,发现bug,需创建bug分支,进行修补

从master分支中分出分支fixbug-1.0.0

1
git checkout -b fixbug-1.0.0 master

修复分支,并提交

切换到master分支

1
git checkout master
阅读更多

git发布正式版本流程

背景

1
1.0.0-SNAPSHOT开发完成后,需要发布正式版本1.0.0

创建预发布分支

1
git checkout -b release-1.0.0 develop

修改版本号

提交修改

切换到master分支

1
git checkout master
阅读更多

git打标签

背景

1
以develop分支某一时间点,打标签,加上发布内容,发布到git服务器。

切换分支

1
git check develop

更新代码

1
git pull origin develop

查看日志

1
git log
阅读更多

linux下git默认编辑器修改

背景

1
git默认的编辑器是nano,使用起来不方便。

执行如下命令,修改默认编辑器为vim。

1
git config --global core.editor vim

打开~/.gitconfig文件查看

1
2
[core]
editor=vim

git push免输入账号和密码

创建文件,加入如下内容

1
2
3
4
cd ~
touch .git-credentials
vi .git-credentials
https://{username}:{password}@{domain}{:port}

执行如下命令

1
git config --global credential.helper store

打开~/.gitconfig文件查看

1
2
[credential]
helper = store

如何clone包含子模块的工程

目前有两种方式

clone整个项目

1
git clone git@github.com:sutong/landscape-theme-extends-demo.git --recursive

先clone父项目,再更新子项目

1
2
3
git clone git@github.com:sutong/landscape-theme-extends-demo.git
git submodule init
git submodule update

最后记得进入子模块所在的目录,追踪master分支

1
git checkout master

linux中如何通过ssh连接github

生成新的ssh,放置在/data/.ssh/目录下

1
2
ssh-keygen -t rsa -C "821192673@qq.com"
#为邮箱地址

将生成的私钥加入ssh-agent中

1
2
3
#判断ssh-agent是否启动
eval "$(ssh-agent -s)"
ssh-add /data/.ssh/id_rsa
阅读更多