零基础开启Git使用

第一次上手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. 配置工作

  1. 创建ssh文件,并切换到该目录下:
mkdir .ssh
cd .ssh

创建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

clone
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

  1. 在git中先fork到本地,切换到sqlpasta目录。
  2. git remote add upstream [email protected]:data-pipeline/sqlpasta.git 将本地文件夹与远程upstream做关联,把pasta远程库到名字叫做upstream
  3. git merge upstream/master 同步远程master到本地
  4. git add XXX 文件,git commit -m "comments" git push -u origin master。首次上传需要加上-u。
  5. 在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,等其他人看到后就可以把代码做一个合并

猜你喜欢

转载自blog.csdn.net/minixuezhen/article/details/79791147