简单实现 Git 操作 远程仓库 GitHub

Git代码托管服务

Git中存在两种类型的仓库,即本地仓库和远程仓库。那么我们如何搭建Git远程仓库呢?我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有GitHub、码云、GitLab等。

  • gitHub( 地址:https://github.com/ )
    是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub
  • 码云(地址: https://gitee.com/ )
    是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
  • GitLab (地址: https://about.gitlab.com/ )
    是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

Github简介

  1. github是一个git项目托管网站,主要提供基于git的版本托管服务
  2. github是一个基于git的代码托管平台, Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。
    简单实现 Git 操作 远程仓库 GitHub_第1张图片

主要步骤:
简单实现 Git 操作 远程仓库 GitHub_第2张图片
1. 创建本地项目
创建一个 Git 目录,执行git bash here。
简单实现 Git 操作 远程仓库 GitHub_第3张图片
进行初始化操作:执行完初始化后,会在该目录生成 .git目录。
简单实现 Git 操作 远程仓库 GitHub_第4张图片

执行以下两行代码:设置局部用户签名和邮箱,全局的需要在config后加 - - global

git config user.name "powerfulDN"
git config user.email "[email protected]"

简单实现 Git 操作 远程仓库 GitHub_第5张图片

2.提交代码到本地库

git add love.txt
git commit -m "love form zhangsanatguigu" love.txt

3. 登录账号到github,创建远程仓库
简单实现 Git 操作 远程仓库 GitHub_第6张图片
填写创建仓库信息

创建后出现仓库地址,注意:点一下HTTPS,换下地址。

简单实现 Git 操作 远程仓库 GitHub_第7张图片

4.本地项目推送到远程库 GitHub上
给网址添加别名
简单实现 Git 操作 远程仓库 GitHub_第8张图片
在 .git 中的config 文件中就会增加此网址。
简单实现 Git 操作 远程仓库 GitHub_第9张图片

然后执行 ogit push <远端代号> <本地分支名称>

  • <远端代号> 是指远程链接的代号
  • <本地分支> 是指要提交的分支名字,比如master
  • 例如:git push origin master
    简单实现 Git 操作 远程仓库 GitHub_第10张图片
    这样就会提交到GitHub上去,期间会弹出GitHub用户密码登录。
    简单实现 Git 操作 远程仓库 GitHub_第11张图片

5. 从GitHub上克隆一个项目

登录其他GitHub账户,搜索用户,获取仓库连接
简单实现 Git 操作 远程仓库 GitHub_第12张图片
新创建个文件夹gitFirst,在文件夹中开一个 Git Bash Here
简单实现 Git 操作 远程仓库 GitHub_第13张图片
6. 修改信息
克隆下来的工程没有账户信息,需要自己在创建一个用户,但是不需要初始化了。
简单实现 Git 操作 远程仓库 GitHub_第14张图片
创建用户,发现并不能创建,原因是你不在 .git 路径下执行,
简单实现 Git 操作 远程仓库 GitHub_第15张图片
切换到 .git目录,在创建用户和邮箱。
简单实现 Git 操作 远程仓库 GitHub_第16张图片
7. 编辑文件,保存到暂存区,在保存到本地库。

简单实现 Git 操作 远程仓库 GitHub_第17张图片
8.本地库提交到远程库,权限不够
简单实现 Git 操作 远程仓库 GitHub_第18张图片
1.注:

  • clone会自动关联远端地址为origin默认名称,所以不需要git remote …
  • 账户提交修改内容,访问被拒绝.权限不够.
  • 以上对项目的操作方式,必须是项目的创建者或者合作伙伴。
  • 合作伙伴添加方式如下图: 在项目中点击settings页签,然后点击Collaborators,然后在文本框中搜索合作伙伴的邮箱或者账号。点击添加。
  • 简单实现 Git 操作 远程仓库 GitHub_第19张图片
    在邀请的伙伴消息会发送到邮箱,点击。
    简单实现 Git 操作 远程仓库 GitHub_第20张图片
    这样就会跳转到GitHub页面
    简单实现 Git 操作 远程仓库 GitHub_第21张图片
    如下说明合作成功。
    简单实现 Git 操作 远程仓库 GitHub_第22张图片
    这样提交修改权限就OK了。
    简单实现 Git 操作 远程仓库 GitHub_第23张图片
    查看GitHub 修改结果。
    简单实现 Git 操作 远程仓库 GitHub_第24张图片
    9. 更新本地文件
    简单实现 Git 操作 远程仓库 GitHub_第25张图片
    查看文件内容。
    简单实现 Git 操作 远程仓库 GitHub_第26张图片

协作冲突

在上传或同步代码时,由于你和他人都改了同一文件的同一位置的代码,版本管理软件无法判断究竟以谁为准,就会报告冲突,需要程序员手工解决。

简单实现 Git 操作 远程仓库 GitHub_第27张图片
首先,两个用户有用相同的版本工程,第一用户修改了工程并提交。
简单实现 Git 操作 远程仓库 GitHub_第28张图片
代码如下:
简单实现 Git 操作 远程仓库 GitHub_第29张图片

第二个用户也修改了相同的文件并提交到远程仓库。

简单实现 Git 操作 远程仓库 GitHub_第30张图片
出现错误,版本冲突问题,解决办法如下:
出现错误的用户先pull(拉下来)就会有冲突,合并冲突,再push,OK
简单实现 Git 操作 远程仓库 GitHub_第31张图片
合并冲突之后,在再本地提交到本地仓库。

注意提交到本地仓库时是提交全部文件 git commit -m “提交说明” ,不能提交单独的文件了。如下所示:

简单实现 Git 操作 远程仓库 GitHub_第32张图片
提交结果如下:
简单实现 Git 操作 远程仓库 GitHub_第33张图片
而冲突解决完后,主用户只需要执行 git pull 工程路径 分支名称 即可
例如:git pull origin master
简单实现 Git 操作 远程仓库 GitHub_第34张图片

跨团队协作

1.Fork

  • 概念:

现在的情景是,用叉子把别人的东西(copy no cut)叉到你的碗里~

就是把别人的项目clone一份,但是owner变成自己,这样你就可以在遵守Open source license的前提下任意修改这个项目了。

相当于你在原项目的主分支上又建立了一个分支,你可以在该分支上任意修改,如果想将你的修改合并到原项目中时,可以pull request,
这样原项目的作者就可以将你修改的东西合并到原项目的主分支上去,这样你就为开源项目贡献了代码,开源项目就会在大家共同的努力下不断壮大和完善。

  • 流程:(zhangsan和lisi是一个团队的人,wangwu是另一个团队的人)

第三方账号登录(wangwu),搜索某账号找到某项目(zhangsan),然后点击Fork按钮,这样就将该项目克隆一份到当前账号(wangwu)内,然后进行修改,提交pull request,告诉对方(zhangsan)已经修改了,请求合并;
当前用户登录(zhangsan)后,可以看到小铃铛中的消息提醒,查看到pull request,然后,选择合并或拒绝。

简单实现 Git 操作 远程仓库 GitHub_第35张图片
执行步骤:以zhangsan,wangwu 为例
① [wangwu]获取[zhangsan]的项目URL

简单实现 Git 操作 远程仓库 GitHub_第36张图片

②[wangwu]点击[Fork],产生分支
简单实现 Git 操作 远程仓库 GitHub_第37张图片

③[wangwu]修改项目文件.(可以pull本地后修改,也可以在github上直接进行修改.)
简单实现 Git 操作 远程仓库 GitHub_第38张图片

④[wangwu]-> [New pull request]

简单实现 Git 操作 远程仓库 GitHub_第39张图片

⑤[wangwu]->[Create pull request]->[填写pull request信息]
简单实现 Git 操作 远程仓库 GitHub_第40张图片

⑥分支已提交到主分支

简单实现 Git 操作 远程仓库 GitHub_第41张图片

⑦[zhangsan]和[lisi]都可以看到[wangwu]提交的项目内容.
简单实现 Git 操作 远程仓库 GitHub_第42张图片

⑧[zhangsan]合并项目,点击[Merge pull request]->点击[Confirm merge]

简单实现 Git 操作 远程仓库 GitHub_第43张图片

⑨[zhangsan]查看项目代码,合并完成,OK

简单实现 Git 操作 远程仓库 GitHub_第44张图片
简单实现 Git 操作 远程仓库 GitHub_第45张图片
zhangsan和lisi 都执行$ git pull origin master,就可以下载到本地仓库了。

你可能感兴趣的:(简单实现 Git 操作 远程仓库 GitHub)