如何使用Git与GitHub协同开发并搭建私有GitLab

发布时间:2021-11-17 17:07:25 作者:柒染
来源:亿速云 阅读:147

本篇文章给大家分享的是有关如何使用Git与GitHub协同开发并搭建私有GitLab,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Git的发展史

Linus在1991年创建了开源的Linux,从此全世界的工程师参与了Linux的开发,期初Linus是通过手动diff的方式进行代码审核和合并的,后来BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。安定团结的大好局面在2005年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发Samba的Andrew试图破解BitKeeper的协议(这么干的其实也不只他一个),被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!如果当时BitMover公司专门为Linux发布一个社区版,也许这家公司也就名垂青史了,可是当时这家公司思想境界没那么高而且Linus也那么牛!

Ubuntu安装Git

niko@niko-notebook:~$ sudo apt install git -y

Windows安装Git

基本就是一路Next最后Finsh。

同一团队协作开发

假定存在用户A和用户B,用户A创建了一个远程仓库,然后远程仓库clone到本地,进行开发完成以后push到远程仓库。同时用户B也在开发这个项目,首先用户B将远程仓库clone到本地进行开发,完成后push到远程仓库,同时用户A再pull远程仓库代码同步项目。

如何使用Git与GitHub协同开发并搭建私有GitLab

跨团队协作开发

假定存在两个开发团队A和B,开发团队A的每个成员都拥有一个本地版本库,但是需要开发团队B协助开发,那么开发团队会先fork一个远程仓库,接着开发团队B的成员分别clone副本远程仓库到本地进行开发,然后push到副本远程仓库。完成后,开发团队B向开发团队A发出一个pull request请求,项目通过审核之后开发团队A再merge副本库到原始远程库,完成功能合并。
如何使用Git与GitHub协同开发并搭建私有GitLab

使用Git命令行

在Git中有4个区,分别是工作区、暂存区、本地库、远程库。我们项目开发就是在工作区工作,然后使用git add命令将工作区的代码提交到暂存区,使用git commit命令将暂存区的文件提交到本地库。Git的有一个代码托管中心是GitHub,同样国内还有Google Code码云等。

如何使用Git与GitHub协同开发并搭建私有GitLab

git reset --mixed图示

如何使用Git与GitHub协同开发并搭建私有GitLab

git reset --hard图示

如何使用Git与GitHub协同开发并搭建私有GitLab

使用git diff --staged比较工作区与暂存区的不同。

使用git diff --cached比较暂存区与本地库的不同。

分支管理

分支可以并行推进项目的开发,开发的某一个功能如果失败不会影响项目整体。

如何使用Git与GitHub协同开发并搭建私有GitLab

Git与GitHub远程仓库交互

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

niko@niko-notebook:~/StydyGit$ cd ../
niko@niko-notebook:~$ rm -rf StydyGit/
niko@niko-notebook:~$ git clone https://github.com/xvGe/StudyGit.git
Cloning into 'StudyGit'...
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 19 (delta 2), reused 19 (delta 2), pack-reused 0
Unpacking objects: 100% (19/19), done.
niko@niko-notebook:~$ git init StudyGit2   # 创建新项目
Initialized empty Git repository in /home/niko/StudyGit2/.git/
niko@niko-notebook:~$ cd StudyGit2/   # 进入项目目录
niko@niko-notebook:~/StudyGit2$ git remote add origin https://github.com/xvGe/StudyGit.git#添加地址
niko@niko-notebook:~/StudyGit2$ git fetch origin master  # 拉取项目
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 19 (delta 2), reused 19 (delta 2), pack-reused 0
Unpacking objects: 100% (19/19), done.
From https://github.com/xvGe/StudyGit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
niko@niko-notebook:~/StudyGit2$ git branch -a    # 查看所有分支
  remotes/origin/master
niko@niko-notebook:~/StudyGit2$ git branch -r    # 查看远程分支
  origin/master 
niko@niko-notebook:~/StudyGit2$ git merge origin/master   # 合并分支
niko@niko-notebook:~/StudyGit2$ ls
file.txt  file2.txt  file3.txt
niko@niko-notebook:~/StudyGit2$ cd ../    # 返回上层
niko@niko-notebook:~$ git init StudyGit3  # 初始化一个项目
Initialized empty Git repository in /home/niko/StudyGit3/.git/
niko@niko-notebook:~$ cd StudyGit3/       # 进入项目目录
niko@niko-notebook:~/StudyGit3$ git pull https://github.com/xvGe/StudyGit.git   # 拉取项目
remote: Counting objects: 19, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 19 (delta 2), reused 19 (delta 2), pack-reused 0
Unpacking objects: 100% (19/19), done.
From https://github.com/xvGe/StudyGit
 * branch            HEAD       -> FETCH_HEAD
niko@niko-notebook:~/StudyGit3$ ls
file.txt  file2.txt  file3.txt

git fetchgit pull的区别是,前者会创建新分支,需要合并操作,但是更加安全;后者直接修改本地代码。

跨团队协作

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

如何使用Git与GitHub协同开发并搭建私有GitLab

Git工作流

如何使用Git与GitHub协同开发并搭建私有GitLab

部署GitLab代码托管服务器

yum clean all && yum repolist all
yum install -y curl policycoreutils-python openssh-server
systemctl enable sshd
systemctl start sshd
firewall-cmd --permanent --add-service=http  # 如果开启了防火墙执行
systemctl reload firewalld                   # 如果开启了防火墙执行
yum install postfix -y
systemctl enable postfix
systemctl start postfix
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce
gitlab-ctl reconfigure     # 配置服务器
gitlab-ctl start           # 启动服务器

访问服务器地址即可,GitLab服务器搭建指南:https://about.gitlab.com/installation/

以上就是如何使用Git与GitHub协同开发并搭建私有GitLab,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. 四、搭建git服务器、安装gitlab、使用gitlab、gitlab备份和恢复
  2. 私有git 搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

git github gitlab

上一篇:HTML提供了哪些列表模式

下一篇:jquery如何获取tr里面有几个td

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》