用户名邮箱配置
- 配置GIT提交时用户名信息(请自行替换yourname为自己的用户名):
$ git config --global user.name "yourname"
- 配置提交时的邮箱信息(自行将邮箱地址部分替换为自己的):
$ git config --global user.email "yourname@xxx.com"
- 配置查看方法1:
$ git config --global --list
user.name=yourname
user.email=yourname@xxx.com
- 配置查看方法2:
$ cat ~/.gitconfig
[user]
name = yourname
email = yourname@xxx.com
配置sendmail
sendemail
用于GIT通过命令行提交补丁时使用。配置方法一样有两种:
- 配置方法1,通过命令行逐个添加:
$ git config --global sendemail.serverport 587
#如果加密的话配置下行
$ git config --global sendemail.smtpencryption tls
$ git config --global sendemail.smtpuser yourname@xxx.com
$ git config --global sendemail.smtpserver smtp.xxx.com
配置完成后,可以通过git config --global --list
来查看下效果:
$ git config --global --list
user.name=yourname
user.email=yourname@xxx.com
sendemail.serverport=587
sendemail.smtpencryption=tls
sendemail.smtpuser=yourname@xxx.com
sendemail.smtpserver=smtp.xxx.com
- 配置方法2,直接修改配置文件
vim ~/.gitconfig
:
[user]
name = yourname
email = yourname@xxx.com
[sendemail]
smtpserverport = 587
smtpencryption = tls
smtpuser = yourname@xxx.com
smtpserver = smtp.xxx.com
smtppass=xxxxxx
- 采用第二种方法时注意不要添加多余的空格等,如果失败,同样需要检查空格、table问题。不过建议还是通过命令行添加,让git自行处理格式问题比较简单些。
smtppass
如果设置则后续使用send-mail
发送邮箱时不需要输入密码,但是缺点也挺明显,这个配置文件里的密码是明文显示。是否添加该行配置自行决定。
安装git send-email
Ubuntu系统上直接输入命令:
sudo apt-get install git-email
CentOS上类似:
sudo yum install git-email
安装完成后,可以验证下命令是否可用:git send-email --help
补丁提交测试
- 在一个已初始化的 Git 仓库中创建一个测试提交。可以使用以下命令创建一个文件并提交:
echo "Test commit" > test.txt
git add test.txt
git commit -m "Test commit"
- 用 git format-patch 命令生成补丁文件。在命令中指定要测试的提交范围(例如 -1 表示最近一次提交):
git format-patch -1
通过上面的命令,可以在当前目录下生成类似 0001-Test-commit.patch
的文件。
3. 使用以下命令发送测试邮件(your-email@example.com 替换成你的邮箱):
git send-email 0001-Test-commit.patch --to your-email@example.com
- 查看是否收到了测试邮件。
恢复基线
在进行了上述的测试后,如果之后使用git pull
拉取代码时,则GIT有可能会报如下信息:
warning: 不建议在没有为偏离分支指定合并策略时执行 pull 操作。 您可以在执行下一次 pull 操作之前执行下面一条命令来抑制本消息:
git config pull.rebase false # 合并(缺省策略)
git config pull.rebase true # 变基
git config pull.ff only # 仅快进
这是因为我们之前的补丁发送测试导致了本地与服务器之间出现了差异,此时我们可以通过以下命令撤销之前的提交:
git reset --hard origin/master
使用远程仓库覆盖本地仓库即可。
# 给git status添加颜色
在执行git status
时,我们可以让staus信息关键内容添加颜色,更好区分:
git config --global color.ui true
- 在未启用颜色时显示效果是这样的:
* 启用颜色后显示效果是这样的:
配置各类语言提交时忽略文件
这里有开源的已配置好的gitgnore文件,按语言进行分类,可以直接下载使用:
https://github.com/github/gitignore
推荐链接
谢宝友: 手把手教你给Linux内核发patch
廖雪峰:Git教程
Gitee:Pro Git(中文版)
Shall We Code?:git rebase 用法详解与工作原理
GIT官网链接: