如何使用Github实现协同工作(例子:两人合作写代码)

 

Github 可以满足多人协作开发项目的需求。在这里我简单记录一下如何两人合作完成代码。

 

方法一:邀请协同开发

这种方法邀请者和被邀请者有几乎相同的权限,被邀请者的push 操作无法被拒绝。邀请者和被邀请者使用同一个repository。

 

首先两个人(userA 和 userB)都需要有各自的github 账号,其中userA 邀请userB 来共同开发, 具体操作步骤如下:

第一步:邀请

userA 登入GitHub以后可以选择新建一个repository,将想要共同完成的工程上传,然后在当前repository的setting中,选择Collaborators,search user B, 向他发送合作邀请,当userB同意后,他就会出现在Collaborators栏目下(如下图所示)。

ps: userB的邀请信息以邮件方式发送给userB的注册邮箱,userB可以在那封邮件中点同意邀请

第二步: userB 修改代码

这里userB 首先需要下载一个git bash,下载地址:windows 版本

下载完成后在电脑里会显示如下图,

点击Git Bash,

第一件事是登录自己的GitHub账号,输入

git config --global user.name "Your Name"注意前边是“- -global”,有两个横线
git config --global user.email "email@example.com"

登入以后,userB 可以将需要共同完成的工程clone 到本地,在git Bash 中输入

git clone https://github.com/userAname/repository_name

这样子会把工程下载到命令行对应的目录下,win+R >cmd 查看命令行地址,如果想改变clone的工程的存放地址,可以输入

git clone https://github.com/userAname/repository_name  D:/clone_file

其中“D:/clone_file”就是你想存放clone 工程的地址(请确保这个文件夹是空的,不然会出现fatal: destination path 'D:/clone_file' already exists and is not an empty directory.)

clone完成后,userB 就可以在本地修改工程内容了。

 

第三步,userB上传修改内容

当userB 完成修改后就可以提交了,首先到 D:/clone_file,右击这个文件夹,选择 Git Bash here,

然后在git Bash 中按第三步的方式登入GitHub,如果想看看自己修改了哪些部分,可以输入

git commit

上传修改,输入

git commit -a -m “change2”   或者

git add .

git commit -m "change2"

之后再输入 git push,就可以把修改上传到服务器,这时候userA 就可以看到自己GitHub 上面的项目更新了,如图:

如果userA 想把userB的修改更新到本地的话, 同样打开git Bash,登入GitHub账户,输入git pull,修改到本地。

同样,如果userA 修改了内容,userB 也可以使用git pull,把修改更新到本地。

 

 

方法二:fork仓库同步/pull

这个方法userA 和userB 使用不同的repository, 代码安全性高,但是管理好复杂。

第一步:fork 代码 clone 到本地

userA 新建了repository,上传了工程,邀请了userB以后,userB接受邀请以后,可以在GitHub上点击fork 

把工程复刻到自己的repository中。然后再和上面一样,在git Bash 中把工程clone 到本地。但要注意的是,假设 repository name 为 test, 这里如果clone到本地  D:/clone_file 中,实际存放在 D:/clone_file/test 下,在git Bash 中要进入 test 文件夹下才能进行push 操作,进入该文件夹 输入 cd D:/clone_file/test。

 

第二步: 修改并上传

这里userB修改和上传的操作和前面的一样,但是这里要注意的一个问题是,当userB 做完修改,想要git push 的时候,可能会出现这样的错误

解决办法是:

在git push 之前,先输入

git config --global --edit

然后在显示出的内容的最后输入(按 i 开始输入)

[credential]
  helper = username
  useHttpPath = true

然后按 alt + c 推出输入,英文模式下 按 ":wq" 退出。

然后再输入git push 将修改上传到服务器。不过这些改动只会上传到userB 的repository中,不会更改user A的repository。

 

第三步: 发起pull request

如果userB 希望自己的改动能同步到userA的工程中,就需要在Github 的repository 中发起pull request。

userA 就会在自己的Github上接收到pull request,(request 为0 是因为我把它处理了)

点进去就可以选择把userB 的修改merge 到自己的repository中。

 

参考:

1. GitHub 协同工作

2. git修改文件后,怎么提交到远程仓库

3. 如何将修改过后的文件通过git上传文件到GitHub

4. ! [remote rejected] master -> master (permission denied)

  • 35
    点赞
  • 138
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值