Git使用教程-学会参加开源项目

🍃博主昵称:一拳必胜客
博主主页面链接:博主主页传送门
博主专栏页面连接:专栏传送门–计算机考研
🍑创作初心:本博客的初心是每天分享记录自己学习的脚步,和各位技术友探讨交流,同时给同样感兴趣的朋友以参考;
博主研究方向:渗透测试、嵌入式、机器学习;
🌸博主寄语:感谢各位技术友的支持,您的支持就是我前进的动力 ;
‘’
 特别鸣谢:木芯工作室
特别鸣谢:木芯工作室 、Ivan from Russia



🍃基础认识

  1. 是什么?

Github 简明教程 分类 编程技术 如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。
但是你如果已经在读这篇文章了,我觉的你已经知道Github了。
正是Github,让社会化编程成为现实。

  1. github是一个基于git代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。
  2. Git 配置
    Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings$USER。

此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。

用户信息
配置个人的用户名称和电子邮件地址:

$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。

如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

git个人仓库建立

使用方法
使用当前目录作为 Git 仓库,我们只需使它初始化。

git init
该命令执行完后会在当前目录生成一个 .git 目录。

使用我们指定目录作为Git仓库。
git init newrepo

初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。

如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

$ git add *.c
$ git add README
$ git commit -m '初始化项目版本'

以上命令将目录下以 .c 结尾及 README 文件提交到仓库中。

注: 在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。

所以在 git bash 中 git commit -m ‘提交说明’ 这样是可以的,在 Windows 命令行中就要使用双引号 git commit -m “提交说明”。

🍑多说无益,如何参与开源项目?

在这里插入图片描述

gitee参与项目过程:

在这里插入图片描述

在这里插入图片描述

  1. 打开gitee,我们以这个iot项目为例。
  2. 从 master 分支 checkout 一个新分支(注:请务必保证 master 代码是最新的)
  3. 新分支命名格式:docs/username_description,例如:docs/pnoker_新增mqtt使用说明
  4. 在新分支上编辑文档、代码,并提交代码
  5. 最后 PR 合并到 develop 分支,等待作者合并即可----------就是pull request

github参与项目过程:

在这里插入图片描述

点Fork,就会在自己的账号下克隆一个bootstrap仓库。然后从自己的账号下克隆,这里就必须要使用git工具了,输入git指令:
git clone https://github.com/blizzawang/bootstrap.git 复制代码

注意一定要从自己的账号下clone仓库,这样你才能推送修改,如果从bootstrap作者的仓库地址克隆,因为没有权限,你将不能推送修改,除非作者将你列为该仓库的协作者,但显然这是不可能的。
Bootstrap的官方仓库twbs/bootstrap、你在GitHub上克隆的仓库my/bootstrap,以及你自己克隆到本地电脑的仓库,他们的关系就像下图显示的那样:
在这里插入图片描述

如果你想修复bootstrap的一个bug,或者新增一个功能,立刻就可以开始干活,干完后,往自己的仓库推送。 如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request。当然,对方是否接受你的pull request就不一定了。

自己作为开源项目发起人

我们知道,git拥有极其强大的克隆和分支功能,在团队协作中,你自己作为团队项目的主干,其它成员就各自有一条分支,每个人都在自己的分支上工作,互不影响,这样能最高效地开发项目。当每个人的项目功能都完成后,就是合并代码的时候了,所有人的代码都合并完成并没有发生错误,整个项目就完成了。那么,在Github中,该如何合并代码呢?
还是以上面创建的仓库为例,这里我做了一些操作,使用git工具将仓库clone到了桌面上,我们叫它本地仓库,然后在本地仓库新建了一个分支,模拟第二个程序员进行的操作,第二个程序员创建了一个test2文件,然后通过git工具推送到了Github仓库里。
在这里插入图片描述

现在我们可以看到,它提示一分钟前user2分支有推送,然后我们点击Compare&pullrequest进行比较和拉取请求。
在这里插入图片描述

会发现,这些分支能够自动合并,是因为当前两个分支的内容互不冲突,这样我们可以在下面填写一些关于此次合并的说明,然后点击Create pull
request进行合并。
在这里插入图片描述

继续点击Merge pull request。
在这里插入图片描述
点击Commit进行提交。我们回到仓库主页,发现user2的文件成功进来了。
在这里插入图片描述
而当你的提交和其它人的提交产生了冲突,比如同时创建了一个变量,亦或是同时修改了某个文件的公共部分,此时就无法自动合并,这样,你得通过git工具将他人的代码更新到自己的本地仓库,然后在本地将冲突解决,再推送到Github,其他人再对自己的代码进行更新即可。
援引链接

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扯淡散人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值