使用git/github进行团队协作

简介: 前言fork 源仓库clone 到本地切换分支修改源代码以及查看前后差异提交并推送至远程仓库从你 fork 的分支向源分支提交 pr小结

  • 前言
  • fork 源仓库
  • clone 到本地
  • 切换分支
  • 修改源代码以及查看前后差异
  • 提交并推送至远程仓库
  • 从你 fork 的分支向源分支提交 pr
  • 小结


前言


本文主要部分之前是发过的,今天重发并做一定的补充,后面可能要开一个如何从开源社区学习的坑,这里特此重新发布一下,明天继续更新安全相关的内容


fork 源仓库


先 fork 到自己仓库,作为源仓库的一个副本;

8.png

clone 到本地


利用 IDEA 可以将 fork 的分支 clone 到你的本地;

9.png

如果用命令行的话就是git clone xxxx命令;


切换分支


你想到修改人家的代码首先要自己创建一个分支同时切换到这个自己创建的分支上面; 这里介绍两种方法:

  1. 直接利用 IDea 的图形界面:

10.png

2直接利用命令创建并切换到当前分支上面:(本人更喜欢这一种)

$git checkout -b anotherbranch

修改源代码以及查看前后差异
11.png

提交并推送至远程仓库


此操作对应于命令行中的git commit命令;

12.png

将代码推送至远端: 此操作对应于命令行中的git push操作;

13.png

可以发现自己的提交如下:同时可以查看修改前后的对比,红色的表示删掉的数据,绿色的表示增加的部分;

14.png

从你 fork 的分支向源分支提交 pr
15.png

下面是我向 freeCodeCamp 社区提交的一个pr的最终记录:16.png

当然了人家最终还会讨论是否合并你的请求,那是后话了,但是通过这一系列的操作相信你已经掌握了向 github 上面任何一个仓库贡献代码的基本流程了吧!


如何实时与远程仓库同步


下面几个命令非常重要!!!


git clone <自己账户下 fork 的代码>


git remote add up <开源项目源地址>


git checkout master


git fetch upmaster  // 从开源项目地址拉取最新master分支代码


git merge upstream/master  // 合并代码到本地


git push -u origin master  // 将最新代码推送到远端


git checkout -b fix-xxxx  // 建立新分支


git add xxx  //添加修改


git commit -m "描述"


git push -u origin fix-xxxx  // 推送修改后的代码到 fix-xxxx 分支


小结

最后总结一下:

这篇文章通过一个简单的例子主要讲解了如何向一个开源项目提交 pr 的过程:fork--->clone--->edit code--->commit--->push--->create pull request

目录
相关文章
|
7天前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
17 0
|
29天前
|
测试技术 持续交付 开发工具
掌握 Git 钩子:提升代码质量和团队协作效率
Git 钩子是一种强大的机制,可在特定操作时自动执行脚本,增强代码审查、自动化测试和持续集成流程。本文介绍 Git 钩子的工作原理、配置方法及其在提升代码质量和团队协作效率方面的应用,包括常用的 `pre-commit`、`post-commit`、`pre-push` 和 `post-receive` 钩子类型,并提供了一个使用 ESLint 的 `pre-commit` 钩子示例。通过自动化常见任务,Git 钩子能显著减少人为错误,提高开发效率。
|
1月前
|
测试技术 持续交付 开发工具
掌握 Git 钩子:提升代码质量和团队协作效率
在软件开发中,保证代码质量和团队协作至关重要。Git 钩子通过在特定操作(如提交、推送)时自动执行脚本,增强了代码审查、自动化测试和持续集成。常见钩子类型包括 `pre-commit`、`post-commit`、`pre-push` 和 `post-receive`。通过配置这些钩子,开发者可以实现代码风格检查、自动化测试和自动部署等任务,从而提升代码质量和团队协作效率。例如,`pre-commit` 钩子可用于运行 ESLint 检查 JavaScript 代码风格,确保每次提交都符合编码规范。
|
1月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
1月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
1月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
3月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
823 1
|
4月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
62 5
|
3月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
78 0
|
4月前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库