Git项目管理-Github远程仓库访问HTTPS和SSH、将远程仓库克隆到本地、本地分支操作(查看、创建、切换、快速创建和切换、合并、删除、遇到冲突时分支合并)、远程分支操作

远程仓库的两种访问方式

  1. HTTPS:临时配置;每次访问仓库时,需要 重复输入Github的账号和密码才能访问成功
  2. SSH:需要进行额外的配置;配置成功后,每次访问仓库时,不需 重复输入Github的账号和密码

注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库。

基于HTTPS将本地仓库上传到Github

# 1、本地没有现成的Git仓库
# 使用终端命令创建README.md文档,并写入初始内容为# project
echo "# project" >> README.md

# 初始化本地Git仓库,并将文件的修改提交到本地的Git仓库中
git init
git add README.md
git commit -m "first commit"

#创建main分支
git branch -M main

# 将本地仓库和远程仓库进行关联,并把远程仓库命名为orgin
git remote add origin https://github.com/liyong999/project.git

# 将本地仓库中的内容推送到远程的origin仓库中
git push -u origin main
# 2、本地有现成的 Git 仓库
# 将本地仓库和远程仓库进行关联,并把远程仓库命名为orgin
git remote add origin https://github.com/liyong999/project.git

#创建main分支
git branch -M main

# 第一次,将本地仓库中的内容推送到远程的origin仓库中
git push -u origin main

# 第二次或第三次,将本地仓库中的内容推送到远程的origin仓库中
git push

SSH

SSH key作用: 实现本地仓库和Github之间 免登录 的加密数据传输。

SSH key由两部分组成,分别是:

  1. id_rsa(私钥文件,存放于客户端的电脑中)
  2. id_rsa.pub(公钥文件,需要配置到Github中)

生成SSH key

  1. 打开Git Bash
  2. 粘贴如下命令,并将 your_email@example.com 替换 为注册Github账号时填写的邮箱:
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  3. 连续敲3次回车,即可在 C:\Users\用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件

配置 SSH key

  1. 使用记事本打开 id_rsa.pub 文件,复制里面文本内容
  2. 浏览器 中登录 Github,点击头像→Settings→SSH and GPG keys→New SSH key
  3. id_rsa.pub 文件中的内容,粘贴到 Key对应的文本框中在
  4. 在Title文本框中任意填写一个名称,来标识这个Key

检测 Github 的 SSH key 是否配置成功

  1. 打开 Git Bash,输入命令ssh -T git@github.com
  2. 看到 “Are you sure you want to continue connecting(yes/no)?”,输入 yes ,看到提示信息中有successfully,则证明 SSH key 已经配置成功

基于 SSH 将本地仓库上传到 Github

# 在 Github 中创建项目成功后,选择 SSH
# 本地有现成的 Git 仓库
# 将本地仓库和远程仓库进行关联,并把远程仓库命名为orgin
git remote add origin git@github.com:liyong999/project.git

#创建main分支
git branch -M main

# 第一次,将本地仓库中的内容推送到远程的origin仓库中
git push -u origin main

# 第二次或第三次,将本地仓库中的内容推送到远程的origin仓库中
git push

将远程仓库克隆到本地

打开 Git Bash ,输入命令git clone 远程仓库的地址

本地分支操作

查看分支列表

注意:分支名字前面 * 号表示 当前所处的分支。

# 查看当前 Git 仓库中所有分支列表
git branch

创建新分支

注意:建议在主分支,创建新分支

# 基于当前分支,创建一个新的分支
git branch 分支名称

# 基于当前分支,创建一个login分支
git branch login

切换本地分支

# 切换到指定的分支 上进行开发
git checkout 分支名称

# 切换到login分支 上进行开发
git checkout login

快速创建和切换 分支

注意:建议在主分支,创建新分支

# -b 表示创建一个新分支
# checkout 表示切换到刚才新建的分支上
# 创建指定名称的新分支,并立即切换到新分支上
git checkout -b 分支名称

# 创建reg的新分支,并立即切换到reg分支上
git checkout -b reg

合并分支

功能分支代码开发测试完成后,可以使用如下命令,将完成后的代码合并到master主分支上:

# 1.切换到master分支
git checkout master

# 2.在 master 分支上运行 git merge 命令,将 login 分支的代码合并到 master 分支
git merge login

删除本地分支

注意:建议在主分支,删除其它分支

当把功能分支的代码合并到 master 主分支后,就可以使用如下命令,删除对应的功能分支:

# 切换到master分支
git checkout master

# 删除对应的功能分支
git branch -d 分支名称

# 删除本地的login分支
git branch -d login

# 强制删除本地的login分支,如果没有合并到主分支,不会提示
git branch -D login

遇到冲突时 的 分支合并

如果 在两不同的分支中,对 同一个文件 进行了 不同的修改,Git 就没法合并它们。此时,我们需要打开这些包含冲突的文件,然后 手动解决冲突

# 假设:在把 reg 分支合并到 master 分支期间,代码发生了冲突
# 切换到master分支
git checkout master
# 在 master 分支上运行 git merge 命令,将 reg 分支的代码合并到 master 分支
git merge reg

# 打开 包含冲突的文件,手动解决冲突,之后,再执行如下命令
# 一次将所有新增和修改过的文件加入暂存区
git add .
# 提交更新,将暂存区中的文件提交到Git仓库
git commit -m "解决了分支合并冲突的问题"

远程分支操作

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

注意:第一次推送分支需要带 -u 参数,此后可以直接使用 git push 推送代码到远程分支。

如果是 第一次 将本地分支推送到远程仓库,需要运行如下命令:

# -u 表示把本地分支和远程分支进行关联,只在第一次推送的时候需要带 -u 参数
git push -u 远程仓库的别名 本地分支名称:远程分支名称

# 第一次推送,远程仓库origin,本地分支名reg,远程分支名register
git push -u origin reg:register

# 如果希望 远程分支的名称 和 本地分支名称 保持一致为reg,可以对命令进行简化:
git push -u origin reg

查看远程仓库中,所有的分支列表

# 查看远程仓库中,所有的分支列表
git remote show 远程仓库名称

# 查看远程仓库(默认远程仓库:origin)中,所有的分支列表
git remote show origin

跟踪分支

跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。

# 从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同
git checkout 远程分支的名称

# 从远程仓库中,把对应的远程分支下载到本地仓库,保持本地分支和远程分支名称相同(register)
git checkout register

# 从远程仓库中,把对应的远程分支下载到本地仓库,并把下载到本地的分支进行重命名
git checkout -b 本地分支名称 远程分支的名称/远程分支名称

# 从 远程仓库(origin) 中,把对应的 远程分支(register) 下载到本地仓库,并把下载到 本地的分支进行重命名(reg)
git checkout -b reg origin/register

拉取远程分支最新的代码

# 从远程仓库,拉取当前分支最新的代码,保持当前分支的代码和远程分支代码一致
git pull

删除远程分支

注意:建议在主分支,删除其它分支

# 切换到master分支
git checkout master

# 删除远程仓库中,指定名称的远程分支
git push 远程仓库名称 --delete 远程分支名称

# 删除 远程仓库(默认名:origin) 中 register 远程分支
git push origin --delete register
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值