初次配置git

2022-03-03 澡盆

最近抹盘重装系统,更新到macOS Monterey,git操作一番遇到了挺多知识点。

git pull提醒参数缺失

用vscode的源代码管理工具将自己的博客项目提交到GitHub时,遇到以下提醒:

Pulling without specifying how to reconcile divergent branches is discouraged.

即没有指定pull的具体方式。这个问题比较有趣,在终端里可以忽略提示继续push,但在vscode会比较严格,直接push失败。

关于pull的参数:

gitpull

来源:rebase策略的作用

rebase

这个命令做了以下内容: a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash),这时你的工作区是干净的。
b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突。
c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并。
所以 rebase 在拉代码前要确保你本地工作区是干净的,如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。
来源:git pull –rebase 理解

一般情况下,自己的博客项目都是在本地更新后push到远程仓库(单一分支),所以使用全局使用缺省参数即可:

git config --global pull.rebase false

当然也可以使用快进合并:

git config --global pull.ff only

git push提示Permission denied

我遇到的情况还挺多 (−_−#)

安装git后会配置user.nameuser.email,email如果用真实邮箱,git push的时候提示邮箱会暴露,并且无法提交。

这是因为GitHub的email设置里,打开了Keep my email addresses privateBlock command line pushes that expose my email两个选项。

根据官方文档操作,把user.email替换为noreply的邮箱即可。

忘记添加到GitHub,或添加错误,重新添加一下就👌了。

这个我是没想到,因为终端里没有任何其他说明,最后是尝试打开GitHub发现被限制了访问,提示过一段时间再访问。随后切换网络或者fq访问一下,问题解决。