包含gitpush时邮箱的词条

hacker|
76

git笔记-配置/修改git的user.name/email

git 在 push/push to 时需要使用到 user.name 和 user.email,一般通过git bash 来进行配置或修改。

这里需要注意的是,该命令只能用于初次配置user.name/email,如果不小心配置错误,或者重复配置,不可以通过重复执行以上命令来修改user.name/email,否则可能或报错说无法重复配置,或者导致一个key配置了多个value。

如果想要修改已经配置过的user.name或email,有两种方式,一种是通过git bash来修改;一种是直接修改.gitconfig文件。

git可以add,pull, 不可以push的问题解决

换了工作环境的网络后,有时候git无法push,但是可以正常add, commit,pull等操作

没有修改github上面的ssh key,但是有的时候会偶尔可以push

无法push的报错信息如下,显示没有权限。

重新生成ssh key等方法都没有效果

根据提示发现是服务器切换了内部ip地址,因此需要在known_hosts文件夹中重新设置ip。

1.首先通过git bash cd 进入.ssh文件夹,该目录下共有4个文件,分别为config,id_rsa,id_rsa.pub,known_hosts(如果没有可以手动创建)

如果没有config后面可以vi新建一个

2.rm删除id_rsa,id_rsa.pub

3.在config文件最后一行添加StrictHostKeyChecking no语句

或者可以不加这一句            UserKnownHostsFile /dev/null

4.打开git命令行窗口重建秘钥

ssh-keygen -t rsa -C "xxx@xxx.com"

5.这时,在known_hosts文件中会发现多了一些数据,然后将新生成的id_rsa.pub内容复制到git网站的SSH KEY中, 注意要连前面的ssh-rsa也要复制上,且最后邮箱位置不要有空格,否则无法成功。

6.在命令行中输入:git remote show origin

若输出我们配置的origin信息,表示问题已经解决,接下来便可以通过git命令clone或push仓库数据。

如果是第一次在window中配置git,可按照以下步骤配置:

1.在需要建立关系的文件夹下打开git命令行窗口(在该文件夹下点击鼠标右键)

2.初始化git:git init

3.配置个人信息:git config --global user.email "xxx@xxx.com"

git config --global user.name "xxx"

接下来的步骤与上面第4步开始的步骤相同。

但是过了一会,又出现了上面的问题,发现不是ssh key的问题,google后发现如下:

可能是网络环境禁用了port 22,可以切换到https传输

具体操作 git config --local -e

将url种ssh的地址切换为http形式

url = git@github.com:username/repo.git

url =

然后退出push成功

关于git 提交到 github我怎么老是 push不上去

电脑上clone github远程仓库的代码修改后再提交,github首页居然不显示有新的提交数了,再进到项目界面查看,修改已经切实存在了。

点击

查看,发现我在本地push提交的都没有对应头像,而直接在网页上提交的修改是有的,相应的在首页也会有显示在绿色块中:

再点击测试提交那一条没有头像的详细内容查看,发现他说我的作者是无效的。

为此我试了很多方法,包括重新添加ssh key,都没用,后来查了一下,也点击这个问号进去看了一下,大致就是本地设置的邮箱需要修改吧。如果遇到了这个问题,要知道这个问号是可以点击的里面也会介绍建议的解决方法T T。

我使用如下方法解决:

打开终端,进入该项目的本地仓库目录,这里网上的人说可以使用

$ git show

来查看你的邮箱信息看是不是正确的,我在这时候看到的是Cloudox@“我的电脑名”。

然后使用如下命令修改设置的邮箱:

// 如果只想修改这一个仓库的邮箱:

$ git config user.email "your_email@example.com"

// 可以使用如下命令确认修改是否成功:

$ git config user.email

// 就会显示你目前的邮箱。

//如果想对所有的仓库生效,避免在别的仓库继续出现这个情况,则输入:

$ git config --global user.email "your_email@example.com"

// 同样可以查看确认一下:

$ git config --global user.email

这样,终于得以解决了问题,修改push之后终于正常啦哈哈,绿色色块可以变深咯。

怎样让Git每次PUSH不用重复输入密码

如果你的Git每次PUSH操作都要重复输入密码,检查其它的设置也没有问题,那原因很大可能是你在生成密钥时设置了密码。通常密钥是这样生成的:

打开命令行终端输入 ssh-keygen -t rsa -C "your_email@example.com" ( 你的邮箱),连续点击 Enter 键即可,中间提示输入密码时不要输入。

1

2

3

4

5

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

# Creates a new ssh key, using the provided email as a label

# Generating public/private rsa key pair.

Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter] // 推荐使用默认地址

Enter passphrase (empty for no passphrase): //此处点击 Enter 键即可,也可以填写密码,但填写密码后每次使用 SSH 方式推送代码时

如何修改 commit 的邮箱和提交人信息

当我们的某次 commit 中的邮箱和提交人不符合提交规范时(比如:用个人邮箱的配置提交到了公司的项目中等),我们需要修改这次 commit 的邮箱和提交人信息,需修改的 commit 可能是如下三种情形:

我们一般使用 git commit --amend 命令来修改 commit 的相关信息,如果要修改历史提交,需要结合 git rebase 命令一起使用

我们通过 git commit --amend --help 查看下 git commit --amend 都有哪些额外参数:

所以,上述三种情形下的解决方式如下(git rebase 相关的操作解释可参考笔者这篇文档: 如何修改第一个 commit 的提交信息 ):

git log 显示提交信息如下:

git rebase -i --root 操作显示如下:

我们将左上角的 pick 改为 e, :wq 保存退出后显示如下:

我们将邮箱和提交人改为 xiaohuxiaohu@qq.com , git commit --amend --author="xiaohuxiaohu@qq.com" --no-edit 执行后,显示如下:

git status 显示如下:

按照提示,进行 git rebase --continue 操作,显示如下:

git log 重新显示如下,邮箱和提交人信息已改变:

如需将修改信息同步到远端仓库,可使用 git push -f 命令进行强制同步,该操作会覆盖远端分支的提交历史,请自行确认操作风险

2条大神的评论

  • avatar
    访客 2023-03-03 下午 12:15:25

    有修改github上面的ssh key,但是有的时候会偶尔可以push 无法push的报错信息如下,显示没有权限。 重新生成ssh key等方法都没有效果 根据提示发现是服务器切换了内部ip地址,因此需要在known_hosts文件夹中重新设置ip

  • avatar
    访客 2023-03-03 下午 01:51:04

    tsFile /dev/null 4.打开git命令行窗口重建秘钥 ssh-keygen -t rsa -C "xxx@xxx.com" 5.这时,在known_hosts文件中会发现多了一些数据,然后

发表评论