第一次上手git,分布式版本控制系统。本文将结合公司使用的gitlab,总结零基础入门的学习过程,作为自己解答疑惑的记录。
主要参考:
1. 大致的过程:https://linux.cn/article-4292-1-rss.html
2. 廖雪峰:地址
3. Gitbook: 地址(主要看前三章)
git push -u origin master
将本地的master传到远程库origin。这里-u只需在第一次操作时写上,表示把本地的master分支和远程的master分支关联起来。
origin就是远程库,远程库里有多个分支,其中的主分支就是master,只合并不工作。
对于我自己的工作使用。公司使用gitlab。其中对于分析师而言,主要用到的是三个项目空间:sqlambda,sqlpasta,data_source-guide。
本文目录:
0. 配置工作
1. sqlambda
2. sqlpasta
3. data-source-guide
0. 配置工作
- 创建ssh文件,并切换到该目录下:
mkdir .ssh
cd .ssh
2. 创建秘钥:
ssh-keygen -t rsa
3. 输入下来语句
cat id_rsa.pub
4. 输入公司git地址,并将获得秘钥粘贴在相应位置
5. 输入下列语句,测试成功。
ssh -T git@公司git地址
1. sqlambda
该项目空间保管SQL查询模板。通常临时需求可以直接给出查询链接,但是一些需要多次查看以及修改的代码,则建议放到sqlambda中,方便更新。
1. 克隆到本地。
输入下列语句,将远程sqlambda项目克隆到本地。
git clone git@git.llsapp.com:data-pipneline/sqlambda.git
2. 分支。
查看状态:
默认只有master分支。origin/master和master,分别表示远程主分支和本地主分支。
上传代码到sqlambda项目中,通过创建分支,分支名对应每个task,例如taskT12345,对应分支名S12345。
创建分支并切换到该分支:git checkout -b S12345
3. 合并master。
在该分支下,合并master ,将本地master同步到该分支:git merge master
4. 添加并push到远程分支。
在此分支下添加或修改代码。
git add XXX文件名
git commit -m "comments
写上提交的内容
git push origin S12345
将该分支push到远程到同名分支下,并assign给他人,进行code review,代码检查完毕,就由远程分支merge到远程master上。
5. pull远程master到本地。
git checkout master
代码修改或进行下一个task时,首先切换回本地master分支
git pull origin master
将远程的master pull到本地,因为期间可能有其他人将他们的分支merge到远程master上,因此需要进行同步。
git checkout S12345
git merge master
切换到本地分支,并合并本地master到当前分支。
git add XXX 文件
,git commit -m "comments"
git push origin S12345
。将修改的文件进行相同操作,push到远程分支。
2.sqlpasta
- 在git中先fork到本地,切换到sqlpasta目录。
git remote add upstream [email protected]:data-pipeline/sqlpasta.git
将本地文件夹与远程upstream做关联,把pasta远程库到名字叫做upstreamgit merge upstream/master
同步远程master到本地git add XXX 文件
,git commit -m "comments"
git push -u origin master
。首次上传需要加上-u。- 在git上创建merge request(左侧),让他人进行code review。
注:sqlpasta没有分支,都在master分支上,先push到自己远程的master,再创建merge request。
3.data-source-guide
该项目空间存的是各种业务线下面的表名解释文档。不用自己创分支,直接push到master,不用他人review。
同样,也是先clone到本地,进行文档修改,进行add和commit,并push到远程master。
4.疑问
- clone和fork的区别
1.区别
git clone 是在自己电脑终端直接敲命令,结果是将github仓库中的项目克隆到自己本地电脑中了
fork是直接访问github网站,在项目页面中点击fork,然后自己github项目中就会多出一个复制的项目
2.用法
如果我们想要修改他人github项目的话,我们直接git clone代码到本地是不能pull的,所以我们使用fork,先把代码复制到自己的github仓库,然后git clone到本地修改,然后在提交pull(这里的pull是pull到自己github仓库了,我们自己的github仓库中的代码是fork源的一个分支),这时候我们想要把修改的代码提交给他人的话,就可以在自己github上pull,等其他人看到后就可以把代码做一个合并