从gitlab下载公司项目代码流程(还有git的学习和使用)

一、环境配置

1. 下载git

(1)打开git bash
(2)设置签名
(因为提交代码的时候需要显示个人信息,谁提交的)
git config --globla user.name zou
git config --global user.email zou@qq.com
在这里插入图片描述
设置好了之后可以查看
在这里插入图片描述
(3)git在本地的结构和代码托管中心
在这里插入图片描述
本地库与远程库
在这里插入图片描述

2. 常用命令

(0)放弃工作区的修改
git restore src/

(0.1)放弃暂存区的修改,工作区保留
git restore --staged src/

(1)查看状态命令git status
在这里插入图片描述
(2)工作区提交到暂存区

git add good.txt

(3)从暂存区移出

git rm --cached good.txt	//删除单个文件
git rm -r --cached node_modules/	//删除文件夹下的所有文件
//-r 参数的意思是允许递归删除

(4)暂存区提交到本地库

git commit good.txt	
//会报一个警告,自动把行末换行字符从LF转换成CRLF
//然后会进入vim编辑器,切换insert模式,然后往第一行输入message,就会备注本次提交的信息
//或者用这个命令可以不进入编辑器,直接输入好备注信息
git commit -m "My first commit" goot.txt

4.1如果commit了一次但是没有push,继续修改好了之后,又想要comiit到本地库但是不想产生两次commit记录,就可以用这个命令,将本次修改内容放到上次commit的记录里面(其实是替换了上次提交)。

//本次的third commit就会放入到second commit的记录中去,
//并且message为third commit
git commit --amend -m "third commit "	

在这里插入图片描述

(5)从暂存区的同步到工作区

git checkout -- good.txt	//就是抛弃工作区的修改,换回暂存区的内容

(6)查看提交的历史信息

git log		//多页的话,空格向下翻页,b向上翻页,q退出

在这里插入图片描述

git log --pretty=oneline
或者git log --oneline
或者git reflog	//可以查看回退版本,指针需要退多少个版本,显示的第一个是索引值

在这里插入图片描述
(7)版本前进后退

  • 基于索引值操作**【推荐】**
  • 使用^符号(只能后退)
  • 使用~符号(只能后退)
1.基于索引
git reflog
git reset --hard 索引值

2.使用^符号
git reset --hard HEAD^	//或者git reset --hard HEAD^^^

3.使用~符号
git reset --hard HEAD~n

(8)reset命令的三个参数对比

– soft参数
仅仅在本地库移动HEAD指针
– mixed参数
在本地库移动指针
重置暂存区
– hard 参数
在本地库移动指针
重置暂存区
重置工作区

(9)删除的文件找回
前提:删除前,文件存在时的状态提交到了本地库
操作:

git reset --hard  HEAD 历史记录

(10)比较文件
当工作区的某个文件修改了,想跟暂存区的对比一下,看看修改内容

git diff 文件名		//与暂存区的比较
git diff HEAD  文件名	//与本地库的比较

3. 分支管理(超重要)

(1)分支概述
在这里插入图片描述

(2)分支操作

git status			//查看当前所在分支
git branch -v		//查看有哪些分支
git branch dev  	//创建分支
git checkout dev 	//切换分支

=====================================

合并分支(最重要的来了来了!!)
//有两个分支,一个master,一个dev。两个本地库版本还是一致的,当我在dev的工作区修改了文件,想要同步给master。
//此时,首先需要将dev工作区的修改先add到暂存区,再commit到本地库,这样才有这条版本更新的记录
第一步:切换到master分支(接收修改的分支上)	git checkout master
第二步:执行merge命令	git merge dev 

(3)解决冲突
当前在hot_mix分支下,修改了good.txt文件的某一行并且提交commit到本地库。
然后在master下,也修改了good,txt文化的同一行并且提交到了本地库。
切换到hot_mix分支,想将master的内容合并过来。
在这里插入图片描述
会提示自动合并失败,开始手动解决冲突,完成合并。
这时候就需要vim到good.txt里面,手动解决冲突
在这里插入图片描述
解决的方式是将<<<<<<<<<<<<<<HEAD、========、>>>>>>>>>>master这三行删掉,然后看保留哪一分支的内容,保存退出:wq

然后用git add good.txt提交到暂存区,解决冲突
再用git commit -m “resolve confilict” 完成合并 (注意不能写文件名了)

(4)遇到冲突后,需要取消本次合并

git merge --abort

注意
该命令仅仅在合并后导致冲突时才使用。git merge --abort将会抛弃合并过程并且尝试重建合并前的状态。但是,当合并开始时如果存在未commit的文件,git merge --abort在某些情况下将无法重现合并前的状态。(特别是这些未commit的文件在合并的过程中将会被修改时)

警告:运行git-merge时含有大量的未commit文件很容易让你陷入困境,这将使你在冲突中难以回退。因此非常不鼓励在使用git-merge时存在未commit的文件,建议使用git-stash命令将这些未commit文件暂存起来,并在解决冲突以后使用git stash pop把这些未commit文件还原出来。

二、插话

(1)公司用的是gitlab,首先申请好账号密码,登录上去;
(2)下载Git:https://www.cnblogs.com/wj-1314/p/7993819.html

(3)在gitlab要设置SSH公钥才能下载代码,所以要生成一个ssh公钥;
(4)如何配置SSH?:https://www.jianshu.com/p/bf7b09e234c8
(5)开发工具
我的前端用的是VScode,后端用IDEA,都熟悉一下,命令行方式也最好都记一记;

三、从gitlab获取代码

1. 命令行

(1)cd 到要放项目的文件夹
(2)git clone 项目的网址

2. IDEA

(1)
在这里插入图片描述
(2)输入网址,测试一下
在这里插入图片描述
(3)项目一般都有一个主线,多个分支,下载到本地后,记得先切换分支,再操作代码(切换在IDEA右下角)
在这里插入图片描述

3. Vscode

步骤都差不多,先打开一个文件夹,然后git clone下来然后切换分支就好

四、合并操作

这个弄了一下午,就是首先要搞清楚三点:
(1)主线master和分支branch-app-dev。在切换分支那里可以看到,一份本地的master和dev,一份远程的master和dev;
(2)master保留的是原始的项目代码,也就是纯模型生成的,dev里面是我们自己修改过的代码;
(3)当master更新了,也就是模型重新生成了之后,我们要把更新的master那一次提交commit合并到我们自己写的dev里面(注意注意不要把整个master给合并到dev去了,这样自己写的代码就没了);

============================================
这里主要用的是命令行,开发工具上操作还不太熟悉。

1. 命令行

把master分支提交到dev分支。

首先,切换到master分支,敲 git log 命令,查找需要合并的commit记录,比如commitID:7fcb3defff;

然后,切换到dev分支,使用 git cherry-pick 7fcb3defff 命令,就把该条commit记录合并到了dev分支,这只是在本地合并到了dev分支;

最后,git push 提交到master远程,至此,就把master分支的这条commit所涉及的更改合并到了dev分支。(这步暂时没做,因为还要继续写自定义的代码)

2.IDEA

(1)切换到dev分支
左下角的VersionControll,然后点log,切换查询条件,可以看到最近的master分支的提交记录
在这里插入图片描述
然后选中某一条,点这个就可以将那次提交记录,合并到我们当前的dev分支
在这里插入图片描述

3.vscode

这个,也是直接切换到dev分支,直接git命令将master给合并过来了。

四、目前更新app-dev分支步骤

dev的合并到app-dev
1.git checkout dev
2.git pull(最好是git fetch + git merge)
3.git checkout branch-app-dev
4.git status检查是否有需要Pull和commit的
5.合并dev分支
6.处理冲突
7.运行检查
8.git push推送到app-dev

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值