IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【学习笔记】Git企业级使用—完整流程 -> 正文阅读

[开发工具]【学习笔记】Git企业级使用—完整流程

【学习笔记】Git企业级使用—完整流程

前言

大家都知道Git是进公司的第一门必修课。而博主今天也是把最近在公司所学的Git知识和一些实战经验分享给大家。同时能够给大家带来一定的帮助。

其他Git相关文章:

Git环境的配置和基础命令

【学习笔记】Git企业级使用—(分支)

【学习笔记】Git企业级使用—(团队协作机制)


GitLab

在这里插入图片描述

众所周知,一次企业项目开发离不开团队的合作。在多人编写代码的同时还需要使用远程的 代码仓库 来进行一哥管理和存储。我们熟知的远程仓库有: 全球最大的同性交流网站—Github ,和国内的码云—Gitee 等 这些都是比较不错的远程仓库。

但是这些一般企业都会去使用 Gitlab 。大家可能听上述的GithubGitee这两个比较多,那为什么公司不去选择使用它们呢?而是一般会去使用 GitLab呢?

其实这个 GitLab 更多在公司开发中用。前面两者都是建立在互联网中的是共享的。而这个 GitLab 是什么呢?他是建立在局域网上的,是可不公开的。

有时候对吧,公司要开发个啥子,不能公开,是商业机密。就在内部建立个局域网上面搭建个 GitLab 只让自己公司员工来开发。

官网地址:GitLab

具体安装流程大家可以自己搜一下啦,在这里就不多赘述了啦。


团队合作流程

切换和创建分支

首先查看当前分支使用 git branch ,查看本地有哪些分支。如果是需要开创新的分支则需要使用git branch xxx来进行操作。

在这里插入图片描述

ps:一般可以在分支的分支来进行创建分支,避免干扰到主分支。

如果本地存在开发分支则需要使用git checkout xxx来进行一个分支切换命令。

例如:

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (master)
$ git branch
* master

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (master)
$ git branch vg_card

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (master)
$ git checkout vg_card
Switched to branch 'vg_card'

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (vg_card)

合并代码

切换分支后我们需要使用git pull把远程库中的某个分支合并到本地库中。

一般在合并的过程我们需要登录公司提供的账号和密码,不然无法进行一个合并操作。

例如:

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (vg_card)
$ git pull origin xxxx
remote: Enumerating objects: 11, done.
remote: Counting objects: 100% (11/11), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 11 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (11/11), 35.13 KiB | 97.00 KiB/s, done.
From https://code.17yund.me/root/sport
 * branch                zwq_refund -> FETCH_HEAD
   794a998b8..9c2f62d0a  zwq_refund -> origin/zwq_refund
Committer identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got 'yodo@DESKTOP-PNDV47D.(none)')



yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (vg_card)
$ git config --global user.email "@xxxxxx"

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (vg_card)
$ git config --global user.name "xxx"

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (vg_card)
$ git pull origin zwq_refund
From https://code.17yund.me/root/sport
 * branch                zwq_refund -> FETCH_HEAD
Merge made by the 'recursive' strategy.
 xxxx.py                |  36 ++++-
 xxxxx.py         |  93 ++++++------
 maxxxxr.py     | 234 +++++++++++++++++------------
 malxxxxxe.py     |   7 +-
 malxxxxonfig.py |   6 +
 5 files changed, 230 insertions(+), 146 deletions(-)

然后我们能使用该远程仓库的代码进行本地操作了。

代码提交

首先通过 Git BASH 命令行工具输入 git add 文件名 把所需要提交的代码提交到缓存区。

注意: git add . 一般.代表的是所有文件。

然后使用 git commit -m"备注"命令先提交到本地仓库。(记住 备注 一定写详细一点,方便以后的改写操作!!!)

那么最后一步就是git push提交操作,如果没有冲突则就会提交成功。

例如:

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (Kxxxxx)
$ git add libs
warning: LF will be replaced by CRLF in libs/MemcachedAdpterRedis.py.
The file will have its original line endings in your working directory

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (Kxxxxxx)
$ git commit -m"Bxxxxx和Mxxxxxxx工具类的初步测试完成"
[KafkaAndRedis 923cc4611] Bxxxxx和Mxxxxxxx工具类的初步测试完成
 5 files changed, 176 insertions(+), 52 deletions(-)
 rewrite libs/Mxxxxxxxx.py (89%)
 create mode 100644 libs/Txxx.py
 create mode 100644 libs/__init__.py

yodo@DESKTOP-PNDV47D MINGW64 /c/Project/sport (Kxxxxx)
$ git push
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 4 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 2.33 KiB | 1.16 MiB/s, done.
Total 7 (delta 3), reused 0 (delta 0), pack-reused 0
remote:
remote: To create a merge request for KafkaAndRedis, visit:
remote:   https:xxxxx/xxxx//xxxx/xxxx/xs/new?merge_request%5Bsource_branch%5D=KafkaAndRedis
remote:
To https://xxx/xxx/xx/x/xx/xxrt.git
   4d22122b0..923cc4611  KafkaAndRedis -> KafkaAndRedis

冲突的解决

冲突怎么产生的?

在这里插入图片描述

首先在团队开发时,一个文件可能会被多个开发者进行操作。多个分支合并到一个分支或者多个分支向同一个远端分支推送代码。

push的操作本质就是将本地的代码merge到远程仓库。同理,pull的操作本质就是将远程仓库的代码merge到本地。所以在使用这两种操作时,都可能会存在 冲突


冲突的解决

在产生冲突后,冲突文件会变成这样:

qwertyuiop
<<<<<<< HEAD
123456789
=======
xzcvbnm,.
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc
c

其中:冲突标记<<<<<<< ======= 之间的内容是我的修改=======>>>>>>> 之间的内容是别人的修改。

可以根据情况保留修改:

保留自己的:
删除=======>>>>>>>之间的内容,然后删除<<<<<<<

保留别人的:
删除<<<<<<<=======之间的内容,然后删除>>>>>>>

都保留:
删除<<<<<<<=======>>>>>>>

修改完后执行:

git add 冲突文件名
git commit -m "xxx"
git push  //直接push就可以了,因为刚刚已经执行过相关merge操作了
  • ①、前提条件:不能在master上面做任何修改,且master分支的变动只能通过git pullgit merge 获得。
  • ②、修改自己的MyBranch分支内容的修改。
  • ③、如果用自己的MyBranch分支执行命令git merge origin/master,把远程的master分支合并到当前分支中。
  • ④、如果没有任何报错,直接跳到第⑤步。如果有冲突,则根据提示,把冲突解决,保存文件。然后进行一个提交。
  • ⑤、执行如下命令,切换到master分支:git checkout master
  • ⑥、执行命令git pull确保当前master分支是最新代码。
  • ⑦、把dev分支的代码合并回master分支:git merge dev
  • ⑧、提交代码:git push

撤销合并

如果我们没有解决冲突且想撤销合并,我们可以输入git reset --hard 命令。

这样我们就能安全的撤销合并,并且回到合并前的样子。

git pull与git fetch及git merge与git rebase的区别

可参考本篇文章:文章链接

参考文章: 文章链接

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-06-25 18:20:21  更:2022-06-25 18:20:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:51:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码