Github远程协作

1.github简介


  • 网址:https://github.com/
  • 关键功能
    • Gist:代码片段的托管。
    • News Feed:所跟随用户的最新动态。
    • Issues:事务管理。
    • Pull Requests:github主要流程。
    • Unwatch:接受对某个项目的通知。
    • Star:设置对某个项目的持续关注。
    • Fork:将别人的项目克隆的自己的用户名下。
    • Repository:仓库。
  • SSH:为了使用Github的远程,一般会在本地配置ssh,以避免每次对github的修改而重复的输入github用户名和密码。
    • sh-keygen -t rsa -C "[email protected]"(-t:指明所要创建的密钥类型,-C:添加注释)
    • ssh key:88888
    • ssh-agent -s:创建密钥管理器
    • ssh-add ~/.ssh/id_rsa:添加密钥进密钥管理器(这一步可能会有报错“Could not open a connection to your authentication agent”报错原理尚不清楚,如果有哪位高人知道,小弟跪求指点。stackoverflow中有相关解决方案,但试过对于我来说都不受用。我自己的解决方案是使用Git
      GUI生成ssh key进行提交,后续操作亦可进行)
    • 复制id_rsa中的密钥至github中的ssh key,关联本地git和github账户:ssh -T [email protected]

2.远程协作的主要命令


  • git clone: 获取一个远程仓库。
  • git fetch:获取远程仓库中的所有分支和数据,但不更改本地仓库中的版本(HEAD,master)指针,如继续操作需要调整HEAD指针(git merge/git reset/git rebase)。
  • git push:将本地数据推送到远程数据库
  • git pull:相当于git fetch 和 git merge的和操作
  • git tag -a v0 -m "tag for v0":创建了一个tag,但是git push无法将tag推送到远端服务器。
    • git push --tags:向远端服务器推送tags
  • git branch -d [分支名]:删除分支
    • git push --deleted origin [分支名]:删除远程仓库中的分支
    • git push origin :[分支名]:使用一个空的分支替代远程仓库中的某分支=删除该分支。

吐槽一下吧,在windows系统下用运行git bash真的有好多bug,先说两个如果有同道中人遇到会解决的烦请告知于我,不胜感激。

  • 命令行运行过多后,会出现结果无法显示的情况,需要执行clear清屏后才会恢复正常。
  • 当一条单行信息过长而无法显示完全,将会出现输入异常bug。

3.github的pull request流程


  • pull request流程(github远程协作的关键流程)
    • fork操作:用户a觉得用户b的仓库A不错,同fork可以将仓库A的当前版本复制到用户a的名下。
    • git clone:用户a将fork至自己名下的仓库a下载至本地。
    • git push:用户a对仓库A进行若干修改和完善的操作后,提交至自己的远程仓库。
    • pull request操作:首先进行自主的差异比较,然后create pull request将自己的修改发送给用户b。
    • merge pull request:如果用户b觉得用户a提交的pull request没有问题,则可进行提交。
    • 用户b如果有异议也可留言告知用户a。
  • 获取所fork的远程仓库的最新版本
    • git remote add [所fork的远程仓库别名] [所fork的远程仓库地址]
  • origin 自己账户的远程仓库(有push权限)
  • 所fork的远程仓库 (无push权限)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-16 13:18:02

Github远程协作的相关文章

Git 远程协作

一?在github创建帐号 二.github托管项目的访问添加SSH keys ssh keys:远程仓库一般用于git的协作,而不直接编辑它的内容 而是让各个协作者把他们各自本地的内容推送到远程仓库当中,那么为了便于访问远程仓库,就要为它增加ssh keys,这个ssh keys可以为我们每次更新或推送时 都不必输入github帐户跟密码 生成key步骤: 1.ssh-keygen -t rsa -C "**@**"  //注: **@**你自己注册的邮箱 2. eval "

GitHub团队协作流程

说来惭愧,这么长时间,第一次参与修改开源项目,所以整理了一份GitHub团队协作流程,作为备忘,文章大部分内容参考https://www.cnblogs.com/schaepher/p/4933873.html GitHub开发流程 零.前期准备 一.创建开发分支 二.Fork项目到个人的仓库 三.Clone项目到本地 四.和团队项目保持同步 五.push修改到自己的项目上 六.请求合并到团队项目上 七.团队项目负责人审核及同意合并请求 注:其中 零.一.七 是由团队项目负责人来完成的.开发人员

使用命令创建github代码仓库,push本地仓库到github远程代码仓库

1.利用命令创建github远程代码仓库 在将本地代码push到github远程代码仓库之前,总是需要新建github代码仓库,在将本地仓库关联到github远程仓库.其中最为繁琐的操作是建立github代码仓库,需要进入github的网站进行操作,不能借助命令来简化操作,十分繁琐. 借助github提供的api,在.bashrc或者.zshrc文件中定义函数,可以利用命令在github上创建代码仓库,十分便捷. 首先需要进入github,申请并获取自己的api token,用于鉴权,地址在这.

git笔记之eclipse使用github远程仓库进行版本管理

这里记录一下eclipse开发工具中git的使用说明. 环境:centOS,eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz eclipse的使用需要依赖Java环境,这边CentOS系统里面已经安装好了JDK: 不能使用open-jdk,此版本会出现不明异常. 1.eclipse安装egit插件: eclipse里面,help --> Eclipse Marketplace 搜索egit 按照eclipse默认要求一步一步安装即可. 2.New Pr

创建Github远程仓库

如何创建github远程仓库 首先, 你有先到github网站注册账号https://github.com 然后创建一个项目, Create a new repository 之后在在Repository name 填入 ZXTabBarController(你的远程仓库名) ,其他保持默认设置, 点击"Create repository"按钮,就成功地创建了一个新的Git仓库: 打开终端进入你的文件目录 ssh-keygen -t rsa -C "[email protec

如何将一整个文件夹提交到github远程仓库

首先,需要先克隆(clone)github远程仓库xxx到本地:详见 http://www.cnblogs.com/helloHKTK/p/7353979.html 然后,将需要提交到github远程仓库的文件夹,复制到已经克隆(下载)到本地的仓库文件夹中: 再执行: $ git add 文件夹名 再将该文件夹提交到本地Git仓库中: $ git commit -m '提交xxx文件夹' 最后将该文件提交到远程github仓库中: $ git push 此时可以在浏览器上登录github查看提交

源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Benedict Torvalds 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码) git的现状 在国外已经非常普及,国内并未普及(在慢慢普及) 越来越多的开源项目已经转移到git CVS 最早的开源.免费的集中式版本控制工具 自身设计有问题,会造成提交文件不完整,版本库莫名其妙损坏的情况 SVN

PyCharm配置gitHub远程仓储

在一个团队里,编码不能是闭门造车,git学起来: 1. GIT的基本介绍.安装及使用教程- @廖雪峰 2. pycharm配置github远程仓储- @谢小小XH

Github远程推送一直Everything up-to-date

问题描述: Github远程推送一直Everything up-to-date,但其实并没有推送成功,远程库中没有更新文件 可能原因分析及解决方法: "git push with no additional arguments only pushes branches that exist in the remote already. If the remote repository is empty, nothing will be pushed. In this case, explicit