git的基本使用[远程库操作]

github代码托管中心注册与登录

官网地址 https://github.com/
注册时需要使用邮箱验证

登录远程库(直接登录即可)

创建远程库

点击右上角的加号并选择New repository

添加仓库名称,仓库描述信息,这里选择公有的 因为私有的需要收费 -_-||

创建完成

本地库创建远程库地址别名

这样做的目的是为了后边方便提交和拉取远程库中内容
初始化本地库(规范 本地库名称与远程库名称一致,可以不同)
git init cheese // cheese是远程库的名称
设置本地库签名
git config user.name etjava
git config user.email etjava@aliyun.com
在本地库中设置远程库别名
查看本地库中的远程库地址别名
git remote -v
创建远程库地址别名
git remote add 别名 远程库中的地址
例如 git remote add origin https://github.com/ETJAVA2022/cheese.git

本地库推送到远程库

新建的远程库第一次连接推送需要登录远程库账号和密码
推送时出现remote: Support for password authentication was removed on August 13, 2021. 此时改用token代替当前远程库的密码即可 使用token和SSH免密登录放在本节末尾

查看远程库是否推送成功

clone操作

clone操作是将远程库中内容下载到本地库
指令 git clone +远程库地址

clone下来后会自动生成远程库地址别名,并初始化本地库

邀请成员加入团队

非团队成员直接推送会提示无法访问 需要加入团队才可以正常提交

邀请成员加入团队
主账号(远程库创建者)发起邀请
1 选择对应的仓库
2仓库页面上找到settings


3 选择collaborators

选择添加人员

5 添加被邀请人的github账号

添加完成后被邀请方会收到邮件验证 进行验证后就可以加入到团队中来了

被邀请人点击收受加入团队

邀请方可以看到已经加入的成员

测试新加入团队的成员推送内容到远程库 推送指令参考上边的’本地库推送到远程库’
如果本地测试 你可能需要清理本地的凭证管理器中关于github的内容

远程库修改和拉取操作

fetch+merge方式

对于团队开发来说 不建议直接将本地分支中的内容进行合并 因为可能会出现冲突等,建议先fetch下来 检查没问题在通过merge合并到本地分支
fetch只是将远程库中的内容下载到本地 并不会改变本地工作区中的内容

如果想查看fetch下来的内容 需要先切换到远程库对应的分支进行查看

merge 是将远程库中分支内容合并到本地库中分支上去

pull方式 是直接对分支进行合并
pull = fetch+merge
如果是功能简单 出现冲突的可能性较小的情况下 可以直接使用pull方式将远程库中的分支内容直接合并到本地库中分支上去

协同开发时冲突解决

无论是提交到远程库时出现冲突还是拉取到本地库时冲突 如果出现冲突 需要按照分支冲突方式进行解决,解决后再次提交或拉取即可
案例:提交远程库时版本冲突
例如 A,B同时拉取远程master分支的内容 然后对同一个文件进行了修改 A先提交修改的文件 当B在去提交时就会出现版本冲突情况


解决版本冲突
B先拉取远程库中最新内容 然后合并到本地 修改后在重新提交到远程库


案例:拉取到本地库时版本冲突
例如 A,B同时在本地修改了文件,A先提交,B没有提交而是修改完文件后在本地库做了拉取操作,此时B会出现版本冲突


解决:
需要先将冲突处理调 然后通过add 标记冲突已解决 在提交到本地库 此时在去远程拉取或提交到远程库就没有问题了

跨团队协作

跨团队协作就是邀请团队外成员协助开发,并非是将团队外成员加入到当前团队模式
具体操作步骤
1 先找到自己远程库地址(需要协作的远程库)


2 发送邮件到需要跨团队协作的人员
3 跨团队协作的人员登录自己的远程库然后访问我们发送的远程库地址


4 点击右上角的fork 将我们这边远程库的内容fork到跨团队协作人员自己的远程库中

5 跨团队协作的人员将远程库clone到本地然后开发完成后提交到自己的远程库中 最后在自己的远程库中发送pull request请求


推送到远程库 如果本地有其他账号 需要先删掉凭证中的其他账号记录

出现下边这个提示

拉取 git pull --rebase origin master
推送 git push -u origin master

发送pull request请求




本团队中进行审核 审核通过后进行merge






至此合并完成

本团队可以通过pull或fetch+merge方式就可以将本团队远程库中的内容拉取到本地了

SSH免密登录

操作步骤
1 cd 到根目录
2 删除.ssh目录
3 生成新的SSH密钥目录
ssh-keygen -t rsa -C +github远程登陆邮箱账号
4 查看并复制新生成的SSH密钥
cat .ssh/id_rsa.pub
5 登录到github中 然后头像->settings->ssh and gpg keys->new ssh key
6 本地库中添加SSH的远程库访问地址别名
7 测试使用ssh方式推送到远程库



选择SSH and GPG Keys -> New SSH Key 将内容黏贴



测试使用SSH方式提交
首先找到SSH推送的远程库地址


本地库中设置SSH方式远程库地址别名并推送到远程库

token令牌机制登录

首先登陆GitHub官网 然后点击头像 找到settings

左侧最后选择Developer Settings

选择Personal access tokens


然后点击生成token 注意保存

在推送时出现提示输入密码的地方 黏贴该token就可以了

git的基本使用[远程库库操作 - GitHub]相关推荐

  1. Git 之五 通信协议(HTTPS、SSH、Git)、使用远程仓库(GitHub、GitLab、Gitee等)

    写在前面   Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2.唯一不足就是,很多讲解并没有实机演示.但是,毫无疑问,官网 ...

  2. git本地分支和远程分支操作

    1.删除本地分支代码 使用大写的D 强制删除  git branch -D XXX    2.删除远程分支代码 删除远程分支 git branch -r -d origin/branch-name g ...

  3. Git 常用操作(6)- 推送到远程仓库(git push)删除远程分支(git push origin --delete)

    1. git remote add--添加远程仓库 在GitHub 上创建的仓库路径为 "git@github.com:用户名/git-tutorial.git".现在我们用git ...

  4. 如何通过git提交代码到远程仓库

    ** 如何通过git提交代码到远程仓库(github) ** 进入项目文件夹,右击鼠标键->Git Basd Here 1.初始化本地仓库 git init 2.将所有文件添加到本地仓库(也可添 ...

  5. 【Git笔记1】本地项目与GitHub远程仓库互联

    秋招面试的时候,面试官就问了我:你会Git吗?我迟疑看着他,他微笑着说,入职前要抓紧时间好好学习一下. 由于地理位置优势先来公司熟悉下环境,咨询算法组组长入职前可以做些什么准备?组长说,Git要好好学 ...

  6. clone远程代码 在不同电脑上git_如何使用git在本地电脑clone别人的github上的远程仓库代码...

    如何使用git在本地电脑clone别人的github上的远程仓库代码背景操作步骤1.在自己电脑创建本地仓库2.git初始化设置.仓库的初始化以及绑定SSH秘钥3.fork别人的github项目,然后c ...

  7. Git配置安装使用教程操作github上传克隆数据

    Git是何方神圣? Git是用C语言开发的分布版本控制系统.版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态).另一个状态可以是不同的文件,也可以是不同的文件内容 ...

  8. Git —— 4、团队协作机制及GitHub操作

    目录 1.团队协作机制 1.1.团队内协作 1.2.跨团队协作 2.GitHub 操作 2.1.创建远程仓库 2.2.远程仓库操作 2.2.1.创建远程仓库别名 2.2.2.推送本地分支到远程仓库 2 ...

  9. git笔记(团队协作教程,GitHub操作)

    git笔记(本地操作教程) git笔记(团队协作教程,GitHub操作) git笔记(IDEA 集成 Git) git笔记(IDEA 集成 GitHub) 自建代码托管平台-GitLab 远程仓库操作 ...

  10. git 远程仓库操作

    git 远程仓库操作 远程提交一个大一点的文件 解决提交冲突(拉取本地合并提交) 分支合并 idea配置操作git和github 远程提交一个大一点的文件 用git远程提交的一个好处就是,相比较在gi ...

最新文章

  1. PostgreSQL 与 MySQL 相比,优势何在?[转]
  2. Java 8 - 07 复合 Lambda 表达式
  3. 推荐几个好玩又有难度的编程网站
  4. Spring AOP里面的几个名词的概念:
  5. JavaEE实战班第三天
  6. Eclipse和PyDev搭建完美Python开发环境(Windows篇)
  7. In this year of Hors, he is an adopted son
  8. 如何成为一个成功的 Java 开发人员?
  9. 数组前半部分和后半部分有序的全排序
  10. lammps计算的应力的方法
  11. python:画图调整图例位置
  12. ubuntu记录pdf手写笔记: 数位板(硬件)+xournal(软件)
  13. 库克是个挺不错的接班人,但是苹果公司的价值已经见顶
  14. 百度地图只显示指定的行政区域地图
  15. 西安建筑科技大学计算机系专业怎么样,西安建筑科技大学好就业吗?附西安建筑大学就业年薪...
  16. linux中dig命令返回结果解释
  17. 树莓派读取usb摄像头
  18. 软件跟踪调试破解心得
  19. java计算机毕业设计国外摇滚乐队交流和周边售卖系统MyBatis+系统+LW文档+源码+调试部署
  20. 特别总账SGL特别总账科目配置和实操【FBKP/OBXR/OBYR】

热门文章

  1. 《OpenGL编程指南(原书第9版)》——2.8 SPIR-V
  2. Hystrix学习——(2)雪崩效应
  3. 年薪50万PM总结的20个成功项目管理经验
  4. mysql 5.5.27_MySQL-5.5.27安装图解
  5. 【Verilog基础】数字电路-逻辑式化简公式(附吸收律推导过程)
  6. GBASE应用 | “天擎”出鞘 GBase 8a助力气象行业进入大数据时代
  7. Android 仿百合网超火爆社交app首页滑动效果
  8. 黄一老师:关于个人征信这几点你都未必知道!
  9. 使用python实现短信,邮箱的功能
  10. 服务器 虚拟声卡,虚拟声卡,小编教你怎么安装虚拟声卡