GitHub多人协同详细教程

本文将以夕小瑶开源项目CS224n-winter-together为例,详细介绍github上多人协同提交代码的整个拉取和提交流程。

该项目是由微信公众号 夕小瑶的卖萌屋 发起的开源课程学习项目,本项目旨在为大家提供一个课程笔记、感悟与延伸、课程作业与project的分享与内容沉淀平台,每个人均可将自己的笔记、感悟、作业等提交到该repo下面对应课程的文件夹底下,来方便大家参考学习。

本文就以如何提交作业为例。

预备知识

git里的参考有几种表示,分别是上游仓库远程仓库本地仓库,逻辑关系如下

 
每个仓库主分支是master,还可以有其它分支
上游仓库的表示为 upstream,远程仓库表示为origin
 
 

具体步骤

1.首先进入到别人的代码库中(也就是xixiaoyao-CS224N-winter-together这个项目)fork别人的项目到自己的github。
 
 
2.之后再自己的账号里就可以看到fork的代码了,可以看到代码的fork来源,即上游仓库地址
 
 
3. 下载代码到你的本地电脑里,具体操作如下:
# 创建本地代码仓库目录work
mkdir work

# 切换到word目录

cd word

# 创建并初始化git库

git init

# 添加远程git仓库

git remote add homeWorkorigin git@github.com:Happy-zyy/CS224n-winter-together.git

远程代码地址可以在自己的github项目里看到

# 将远程git库代码下载到本地 (origin代表远程仓库,master代表主分支)
 
git pull origin master

截止到此为止,你已经完成了对本地代码库的建设,现在你可以在本地修改代码。
 
 
4. CS224N作业说明
cs224n的作业一在 「/CS224n-winter-together/Assignments/Assignment 1」目录下的a1.zip文件,我们解锁压缩该文件的到a1。
为了方便最后的提交不产生不必要的冲突,更改a1文件为自己的github名即可
 
mv a1 happy #更改文件a1为happy文件

下面就可以进入happy文件按照相应的作业要求,完成相应的作业了。
 
 
5. 假设目前已经完成了作业,我们要先提交到本地仓库
git status #查看当前本地代码库状态

我们发现添加了happy这个新文件
 
git add happy/*    #添加到暂存区
git commit -m "zyy first commit"   #提交至本地仓库
 
如上所示,自此,我们提交了这些文件到本地仓库。
 
 
6.将本地仓库的代码提交到远程仓库
 
git push -u origin master

注意如果再push之前,上游仓库有人做了代码修改,那么此时你本地和远程仓库的代码就不是最新的了,此时需要把上游仓库的代码合并到本地,然后再push到远程仓库。

所以, 我们推荐每次代码待提交前,都从原项目拉取一下最新的代码,最后再使用git push命令将改动同步到自己的Github远程仓库中
做法如下:
# 添加上游仓库地址(CS224n-winter-together)
 
git remote add upstream git@github.com:xixiaoyao/CS224n-winter-together.git

# 查看 origin 和 upstream 对应的仓库是否正确

git remote -v

origin对应的是自己github的地址,即yourname/project
upstream对应的是原项目的地址,即sourcename/project
 
# 从上游仓库获取最新的代码合并到自己本地仓库的master分支上
 
git pull upstream master

可以看到,本地master仓库和上游仓库相比,一个文件被更改,一个文件被新加入~但没有产生冲突
之后,我们就可以放心的push到远程仓库了
 
git push -u origin master

自此,远程仓库也更新完毕~。

 
7. 从远程仓库push到上游仓库
目前只完成了自己github的建设,怎么向项目的发起者提交代码,让更多的人看到我的代码呢?
打开自己的github,发现刚提交的项目发生了更新,点击 New pull request
进入结果对比页面,如下图所示:
可以看到从远程库的master分支向上游仓库的master分支申请提交代码
Able to merge代表你的代码与上游代码没有冲突,可以提交
然后点击 create pull request,进入下面页面:

填写注释,描述你所作的修改,然后点击右下角提交。

最后,进入上游仓库的地址,在上游仓库的Pull requests列表里就可以看到自己的提交请求了,等待作者审核即可。

 
 
更多精彩内容,请各位看官移步微信公众号「 夕小瑶的卖萌屋」 ,会有更加精彩的内容等着大家哦 ヘ|・∀・|ノ*~●
 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GitHub多人协同开发是指多个程序员通过GitHub平台共同参与一个项目的开发过程。这种协同开发方式可以提高团队的工作效率和代码质量。具体来说,GitHub提供了一系列的功能和工具来实现多人协同开发: 1. 组织(organization):GitHub的组织是一个集合了多个团队和成员的实体。组织可以创建和管理多个仓库,并为不同团队分配不同的权限。 2. 团队(team):团队是组织下的一个子单位,用于将成员分组并赋予不同的权限。通过创建团队,可以更好地管理协同开发过程中的权限控制和人员分工。 3. 成员(member):成员是指参与协同开发的个人。GitHub可以通过邀请成员加入组织或特定仓库,成员可以根据自己被分配的权限对代码进行修改和提交。 4. 仓库(repository):仓库是存储代码和项目文件的地方。在一个仓库中,多个成员可以同时进行代码的编辑和提交,通过版本控制功能可以确保代码的一致性和可追溯性。 在进行GitHub多人协同开发时,通常遵循以下几个步骤: 1. 创建仓库:一个项目通常对应一个仓库,可以通过GitHub网站或命令行工具创建一个新的仓库。 2. 邀请协作者:在仓库设置中,可以邀请其他程序员加入协同开发。通过邀请协作者,可以共享代码并允许其修改和提交。 3. 分支管理:每个开发者可以创建自己的分支,在分支上独立开发和测试。通过分支管理可以避免多人同时修改同一份代码造成冲突,保证开发进度和代码质量。 4. 提交代码:开发者在自己的分支上完成开发后,可以将代码提交到主分支或请求合并。其他开发者可以对代码进行审核和评审,确保代码的质量和规范。 总结起来,GitHub提供了一套完善的工具和功能,使得多人协同开发变得更加高效和可控。通过合理的权限管理、分支管理和代码审核,可以确保团队的协同开发顺利进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [github多人协作开发项目教程,2021新版。](https://blog.csdn.net/qq_45804132/article/details/118669698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [3. github---多人协作开发流程](https://blog.csdn.net/weixin_47505105/article/details/122893403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值