git+GitHub常用命令汇总(含常见错误)

git+GitHub常用命令汇总

一、怎么将公钥复制到你的GitHub账户中的SSH keys中

要将公钥复制到您的GitHub账户中的SSH Keys中,您需要按照以下步骤操作:

  1. 首先,在本地计算机上生成SSH密钥对(公钥和私钥)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  1. 下一步,在您的 GitHub 账户中打开设置页面,并转到SSH和GPG Keys选项卡。

  2. 在SSH Keys中,单击"Add SSH Key" 或 “New SSH Key”

二、查看git用户名和邮箱

git config user.name
git config user.email

三、怎么验证SSH keys 是否成功了

要验证SSH Keys是否成功添加到您的GitHub 账户中,可以尝试执行以下操作:

  1. 打开终端或Git Bash。

  2. 输入以下命令以连接到你的Git账户:

ssh -T git@github.com

注意:如果您使用的是GitLab或其他GitHub 托管服务,请将命令中的"git@github.com"替换为对应的地址。

  1. 如果您已成功配置SSH Keys并将其添加到您的GitHub 账户中,将看到如下消息:
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.

如果出现上述消息,表示您已成功配置SSH Keys并验证连接到Git账户。如果遇到任何错误消息,请检查您的密钥和账户设置是否正确,并重试。

如果验证SSH keys时提示

The authenticity of host 'github.com (20.205.243.166)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

这是一个SSH连接时的安全校验信息,可以输入"yes"继续连接。如果您不确定或者是第一次连接,请参考该主机提供的公钥(fingerprints)是否正确,如果正确则输入"yes"。

错误提示

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xiaowangbuger/authAPI.git/'

这是由于GitHub于2021年8月13日停止支持使用密码进行身份验证而导致的身份验证失败的错误信息。现在,GitHub建议使用其他身份验证方式,例如使用SSH密钥或个人访问令牌。详细信息可以参考https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token。

这里选择SSH方式

通过SSH验证GitHub身份需要以下步骤:

  1. 生成SSH密钥对:在终端中输入命令 ssh-keygen -t ed25519 -C "youremail@example.com", 然后一路回车即可。

  2. 将公钥添加到GitHub账户中:将刚刚生成的公钥 (~/.ssh/id_ed25519.pub) 复制,然后在GitHub账户的Settings页面中找到SSH keys选项卡,点击“Add SSH key”,然后将公钥粘贴到“Key”文本框中,最后点击“Add SSH key”按钮。

  3. 在本地配置Git:在终端中输入命令 git config --global user.name "Your GitHub Username"git config --global user.email "youremail@example.com",将“Your GitHub Username”和“youremail@example.com”替换为你自己的GitHub用户名和电子邮件地址。

  4. 用SSH URL克隆GitHub仓库:在GitHub上找到你要克隆的仓库,然后点击“Code”按钮,选择SSH选项卡,复制SSH URL。在终端中执行 git clone git@github.com:your-username/your-repository.git 命令来克隆仓库(将“your-username”和“your-repository”替换为你自己的用户名和仓库名)。

这样就可以通过SSH验证GitHub身份了。

怎么修改GitHub远程仓库的别名

要修改已经存在的 GitHub 远程仓库的别名,需要执行以下 git 命令:

git remote rename <原先的别名> <新的别名>

其中,<原先的别名> 是当前已有的远程仓库的别名,<新的别名> 是你希望将其修改成的新别名。如果修改成功,即可通过 git remote -v 命令查看已经更新后的所有远程仓库别名和对应的地址。

怎么修改GitHub别名对应的地址

要修改已经存在的 GitHub 远程仓库别名对应的地址,需要执行以下 git 命令:

git remote set-url <别名> <新的地址>

其中,<别名> 是你希望修改的远程仓库的别名,<新的地址> 是你希望将其修改成的新地址。如果修改成功,即可通过 git remote -v 命令查看已经更新后的所有远程仓库别名和对应的地址。

将GitHub的分支合并

要将一个 GitHub 仓库中的分支合并到另一个分支或当前分支,需要使用 git merge 命令。以下是具体步骤:

  1. 首先,需要先切换到目标分支(即要合并到哪个分支)。比如,如果要将 feature 分支合并到 master 分支,那么可以执行以下命令:

    git checkout master
    
  2. 然后,使用 git merge 命令将目标分支合并到当前分支。比如,如果要将 feature 分支合并到 master 分支,可以执行以下命令:

    git merge feature
    

    在执行该命令后,Git 会将 feature 分支的修改合并到 master 分支中,并自动创建一个新的合并提交。

  3. 如果在合并时出现了冲突,需要手动解决冲突。可以通过使用 git status 命令,找到冲突的文件,在编辑器中解决冲突。

  4. 如果合并后发现有问题,可以使用 git log 命令查看提交历史,找到问题所在的提交,并使用 git revert 命令撤销该提交。
    合并分支时需要注意的是,如果目标分支上已经存在了与要合并的分支相同的文件或代码,那么在合并时可能会出现冲突,需要手动解决。此外,合并分支可能会导致代码的冲突或错误,因此在执行前应该先进行代码检查和测试。

错误提示

这个错误通常出现在以下两种情况中:

  1. 本地仓库中不存在 main 分支,而你却试图从该分支推送代码到远程仓库。这时,可以使用以下命令将当前分支重命名为 main 分支:

    git branch -m main
    

    然后再次尝试推送代码到远程仓库。

  2. 远程仓库不存在 main 分支,而你却试图从该分支拉取代码到本地仓库。这时,可以先执行以下命令将本地仓库与远程仓库同步:

    git fetch
    

    然后再尝试从远程仓库拉取代码到本地仓库:

    git pull origin main
    

    如果仍然出现错误,可以尝试检查远程仓库中是否真的存在 main 分支,或者创建一个新的 main 分支再尝试同步。

查看本地分支的名字

git branch

将本地仓库推送到指定的远程仓库分支

你可以使用以下命令将本地仓库推送到指定的远程仓库:

git push <远程仓库名称> <本地分支名称>:<远程分支名称>

其中,<远程仓库名称> 为远程仓库的名称,例如 origin<本地分支名称> 为本地仓库中待推送的分支,例如 main<远程分支名称> 为远程仓库中要创建或更新的分支,例如 main

以下是一个示例,将本地仓库中的 main 分支推送到远程仓库 origin 中的 main 分支:

git push origin main:main

执行上述命令后,Git 会将本地仓库中的 main 分支合并到远程仓库 originmain 分支中。

错误提示

fatal: refusing to merge unrelated histories

这个错误通常发生在您试图将两个不相关的 Git 仓库合并时。当 Git 无法自动确认这些历史记录的公共祖先时,它会拒绝合并。

为了解决这个问题,您可以使用 --allow-unrelated-histories 选项来强制 Git 合并这些历史记录。您可以使用以下命令:

git merge <branch_name> --allow-unrelated-histories

其中 <branch_name> 是要合并的分支名称。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG--ER

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值