当前位置:   article > 正文

github 邮箱_VSCode_Git_Github_ 基本操作(fork+pull request)

fork personal acc

764d8efe752fd1e5ad8d74646934ccea.png

主要内容:

  • 基本设置:用户名&账户、SSH KEY
  • 自己维护的repo:Github新建repo、本地设置 remote 地址、首次 pull、日常 pull & push
  • 向其他repo提交特性:设置 upstream 上游地址、pull request
  • 接收pull request时:项目原作者如何处理 pull request 冲突

I. 基本设置:用户名&账户、SSH KEY

1.1 设置用户名&账户

全局参数,即所有本地 repo 的默认参数:

  1. git config --global user.name ""your_name" %全局repo用户名,尽量有意义
  2. git config --global user.email "your_email" %全局repo邮箱

局部参数,仅在当前 repo 有效,适用于公司项目放在Gitlab的情形

  1. git config user.name "your_name" %局部repo用户名
  2. git config user.email "your_email" %局部repo邮箱

补充:

  1. git config --global user.name % 查看全局用户名(两条横线)
  2. git config --global user.email % 查看全局邮箱(两条横线)
  3. git config user.name % 查看局部用户名
  4. git config user.email % 查看局部邮箱
  5. git config --list % 列出的是全局和局部参数,但使用时优先使用局部参数(两条横线)

1.2 SSH KEY

目的:下载(clone或pull)项目时,不需每次输入密码。

基本操作:本地生成密钥对 - 在Github上设置公钥 - 修改本地repo的remote为SSH地址

  1. % 本地生成密钥对
  2. $ ssh-keygen -t rsa -C youremail@example.com

C用户目录,找到 .ssh 目录,然后找到 id_rsa id_rsa.pub 这两个文件,复制id_rsa.pub 文件内容

c20555ac88f14c31c0837b09f38187a7.png


Github 上添加 SSH Key 公钥,将 id_rsa.pub 内容粘贴在 Key 一栏中,保存即可。

75e2013f7d0e4e43ecffc876ffe9c46b.gif
将id_rsa.pub 内容粘贴在 Key 一栏中

附录:

当尚未添加SSH KEY也并未输入过账户和密码时进行 pull 和 push 会发生什么?

  1. remote添加为https地址

07f9c0ca132d515ab7a3e7fa83186e0c.png

33b4ed2535e42d02b1888c6abc15431e.png

输入密码后,Github账户中会新建一个针对当前设备Personal access tokens

5d8f74acd30744c67ba5668f76e9f60b.png
Personal access tokens

2. 将remote添加为SSH地址

d962cc3bfb066e44e611018aacb0c6fd.png

1e02f22697557b036c1d18220d857137.png
提示没有权限

II. 自己维护的repo:Github新建repo、本地设置 remote 地址、首次 pull、日常 pull & push

日常情形:本地项目首先出现,利用git进行版本管理一段时间后上传至Github。

2.1 Github新建repo

不赘述。

2.2 本地设置 remote 地址

  1. git remote add origin https://gitee.com/kingCould/HelloWord.git % origin 为远端账户名称,可以任意指定,https://gitee.com/kingCould/HelloWord.git为远端地址
  2. git remote -v % 列出所有remote地址(一条横线)
  3. git remote remove origin % 删除origin账户
  4. git push origin --delete test % 删除远端分支,test 是远端的Branch名称
  5. git push -f % 删除分支时可能需要force强推

2.3 首次 pull

git push -u origin master % origin需要与创建的远端仓库名称一致

2.4 日常 pull & push

  1. git pull origin master % master为分支名称
  2. git push origin master

2.5 本地已经进行了一部分提交,github并未创建repo时

首先github新建repo

然后强推:

  1. 首先:
  2. git pull origin master --allow-unrelated-histories % 允许两个不相关的分支进行合并,但这样一定会出现initial
  3. 然后,本地拉取上游initial然后reset hard至本地最后一次commit,接着:
  4. git push origin master -f

补充:

  1. git branch -a % 列出所有分支
  2. 如果提交时显示尚有未完成的merge,键入:
  3. git merge --continue

III. 向其他repo提交特性:设置 upstream 上游地址、pull request

10df87d85e97601b16c94b6c572bd180.png

基本流程:fork - clone fork项目 - 新建分支 - 开发过程中时常对上游分支进行pull+rebase 本地 master - 开发完成push到fork项目 - pull request

3.1 fork 并 clone 项目到本地

  1. 在github上fork
  2. git clone https://github.com/lonelybag-clone/MATLAB_DEMO.git

3.1 设置 upstream 上游地址

  1. git remote add upstream git@github.com:lonelybag/dev-play.git % upstream 为远端名称,可以任意指定,git@github.com:lonelybag/dev-play.git为原作者项目地址
  2. git remote -v % 列出所有remote地址(一条横线)

3.2 对上游 upstream 的 master 分支进行 pull + rebase

lonelybag:VSCode_Git_操作(rebase+revert+reset)​zhuanlan.zhihu.com
db9c2ede7e37cba49d98716b371a3a3f.png

基本步骤:git fetch upstream - git checkout master - git rebase upstream/master

3.3 Pull request

53476c15608349e4c6180659de198a9f.png
点击Pull request

a635e6d7641d7ba98bf4728299c95706.png
进行确认

613cc82b059222b9f095f6a5bdc142ca.png
创建PR(Pull request)

等待邮件即可。

VI. 接收pull request时:项目原作者如何处理 pull request 冲突

基本步骤:克隆fork作者的项目到本地的新分支 - 解决冲突 - 将分支融合到自己的master - push到远端 - 此时PR将显示可以自动合并

参考

  • Understanding the GitHub flow
  • A successful Git branching model
  • 团队协作中的 Github flow 工作流程
  • 带你一步一步看懂Git图谱 - 掘金
  • http://www.ruanyifeng.com/blog/2012/07/git.html
  • GitHub 的 Fork 是什么意思?
  • https://blog.csdn.net/qq_33429968/article/details/62219783
  • https://blog.csdn.net/Scythe666/article/details/80268652

关于作者

目前电气工程硕士在读,平常喜欢琢磨有限元仿真、Matlab、Latex、三维建模等一切有趣的东西

一些成果会放在 Github 或者 知乎,也欢迎通过邮箱联系我 dongweihao514@sina.com

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/797482
推荐阅读
相关标签
  

闽ICP备14008679号