远程仓库的两种访问方式
基于HTTPS将本地仓库上传到GithubSSH
SSH key作用: 实现本地仓库和Github之间 免登录 的加密数据传输。SSH key由两部分组成,分别是:生成SSH key配置 SSH key检测 Github 的 SSH key 是否配置成功基于 SSH 将本地仓库上传到 Github 将远程仓库克隆到本地本地分支操作
查看分支列表创建新分支切换本地分支快速创建和切换 分支合并分支删除本地分支遇到冲突时 的 分支合并 远程分支操作
将本地分支推送到远程仓库查看远程仓库中,所有的分支列表跟踪分支拉取远程分支最新的代码删除远程分支
远程仓库的两种访问方式- HTTPS:临时配置;每次访问仓库时,需要 重复输入Github的账号和密码才能访问成功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 pushSSH SSH key作用: 实现本地仓库和Github之间 免登录 的加密数据传输。 SSH key由两部分组成,分别是:
- id_rsa(私钥文件,存放于客户端的电脑中)id_rsa.pub(公钥文件,需要配置到Github中)
- 打开Git Bash粘贴如下命令,并将 your_email@example.com 替换 为注册Github账号时填写的邮箱:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"连续敲3次回车,即可在 C:Users用户名文件夹.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件
- 使用记事本打开 id_rsa.pub 文件,复制里面文本内容在 浏览器 中登录 Github,点击头像→Settings→SSH and GPG keys→New SSH key将 id_rsa.pub 文件中的内容,粘贴到 Key对应的文本框中在在Title文本框中任意填写一个名称,来标识这个Key
- 打开 Git Bash,输入命令ssh -T git@github.com看到 “Are you sure you want to continue connecting(yes/no)?”,输入 yes ,看到提示信息中有successfully,则证明 SSH key 已经配置成功
# 在 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



