【知识沉淀】ssh连接git仓库,git解决分支冲突

发布于:2025-06-30 ⋅ 阅读:(18) ⋅ 点赞:(0)

目录

1.如何ssh连接git

步骤 1: 生成SSH密钥

步骤 2: 将公钥添加到远程服务器

步骤3:使用SSH连接进行Git操作

2.如何解决git冲突

2.1 git merge 解决冲突

2.2 git rebase 解决冲突

2.3远程的agent_x1_protocol_v45_upgrade分支和master分支有冲突

3.git操作遗漏,如何重新git commit


1.如何ssh连接git

步骤 1: 生成SSH密钥

如果你还没有SSH密钥,首先需要生成一个。打开终端(或命令行界面),然后运行以下命令来生成一个新的SSH密钥对:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  • -t rsa 指定密钥类型为RSA。

  • -b 4096 指定密钥的位数,4096位是一个相对安全的长度。

  • -C 添加一个注释,通常是你的电子邮件地址。

按照提示,将密钥保存在默认位置(如~/.ssh/id_rsa)或者自定义路径。

步骤 2: 将公钥添加到远程服务器

你需要将你的公钥(id_rsa.pub)添加到远程Git服务器的账户设置中(如GitHub、GitLab等)。通常,你可以在账户设置中找到“SSH和GPG keys”部分,然后添加新的SSH key。

  1. 打开公钥文件:

    cat ~/.ssh/id_rsa.pub
  2. 复制输出的内容。

  3. 在远程服务器的设置中粘贴这个公钥。

步骤3:使用SSH连接进行Git操作

现在,可以使用SSH连接到远程Git仓库并进行操作了:

git clone git@github.com:username/repository.git  # 克隆仓库
cd repository                                     # 进入仓库目录
git pull                                          # 拉取最新代码
git status                                        # 查看状态
# 进行你的代码更改和提交...
git push                                          # 推送更改到远程仓库

确保在执行git push或其他需要认证的操作时,你的SSH密钥已经正确添加到SSH代理并且远程服务器已正确配置。如果你遇到权限问题,可以检查以下几点:

  • SSH密钥是否正确添加到SSH代理。

  • SSH密钥是否已正确添加到远程服务器的账户设置中。

  • Git仓库的URL是否正确设置为使用SSH协议。

通过这些步骤,你应该能够通过SSH安全地连接到远程Git仓库并进行操作

2.如何解决git冲突

解决冲突前先同步远程开发分支和远程master分支的代码

2.1 git merge 解决冲突

git push 后遇到冲突;git chekout 到本地开发分支;git pull origin/master 拉取远程分支并合并代码;打开代码文件解决冲突;git add 修改的文件;git commit -m ""; git push 到远程开发分支;

2.2 git rebase 解决冲突

git push 后遇到冲突;git checkout 到本地master分支;git pull origin/master拉取远程更新的代码;git checkout 到开发分支;git rebase master 变基到本地master分支; 然后 git push 到远程开发分支

2.3远程的agent_x1_protocol_v45_upgrade分支和master分支有冲突

解决方案:

  1. 在本地切换到agent_x1_protocol_v45_upgrade分支

  2. 执行git fetch origin 更新远程的分支信息到本地

  3. 执行合并git merge --no-ff origin/master

  4. 解决冲突

    (1)找到冲突的类
    
    (2)编辑冲突文件
    
    <<<<<<< HEAD
    当前分支的修改内容
    =======
    origin/master 分支的修改内容
    >>>>>>> origin/master

  5. 对每个解决完冲突的文件,运行:git add <file>

  6. git commit -m "卡片编码 merge master"

  7. git push origin HEAD:refs/for/agent_x1_protocol_v45_upgrade 推送到远程

3.git操作遗漏,如何重新git commit

1. 修改最近一次提交(git commit --amend

这是最常见的方式,适用于以下场景:

  • 修改提交信息(比如打错字)

  • 添加遗漏的文件到上一个提交

  • 调整提交内容(修改已提交的文件)

# 1. 添加遗漏的文件(如果有)
git add <漏掉的文件>

# 2. 执行 amend 操作(会进入编辑器修改提交信息)
git commit --amend

# 或者直接指定新的提交信息(不进入编辑器)
git commit --amend -m "新的提交信息"

2. 彻底撤销提交并重新提交(git reset

如果希望完全撤销最近的一次提交,并重新组织代码后再提交:

# 1. 撤销最近一次提交,但保留修改的代码(工作区不变)
git reset HEAD~1

# 2. 修改文件后重新添加并提交
git add .
git commit -m "新的提交"

3. 修改更早的提交(交互式 Rebase)

如果要修改历史中的某个旧提交(非最近一次),需要使用交互式变基:

# 1. 启动交互式 rebase(假设要修改最近的第3次提交)
git rebase -i HEAD~3

# 2. 在编辑界面中找到目标提交,将 `pick` 改为 `edit`,保存退出
# 3. 修改文件后提交
git add .
git commit --amend

# 4. 继续 rebase 流程
git rebase --continue


网站公告

今日签到

点亮在社区的每一天
去签到