关山难越,谁悲失路之人;萍水相逢,尽是他乡之客。
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程教程 > 技术文章 > 正文

gitlab 安装配置

guanshanw 2023-09-30 13:32 25 浏览 0 评论

DevOps 简介:

是 Development 和 Operations 的组合,也就是开发和运维的简写。DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等。整条生命周期中协作和沟通的最佳实践,DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。

DevOps 四大平台:

  1. 代码托管(gitlab/svn)
  2. 项目管理(jira)
  3. 运维平台(腾讯蓝鲸/开源平台)
  4. 持续交付(Jenkins/gitlab)

为什么要推广 DevOps?

DevOps 强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,而 DevOps 则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付。

gitlab 安装配置

什么是持续集成(CI-Continuous integration):

持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。

什么是持续部署(CD-continuous deployment):

是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

什么是持续交付(Continuous Delivery):

持续交付是在持续部署的基础之上, 将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。

程序部署方式的发展过程:

  1. 开发自己上传---最原始的方案
  2. 开发给运维手动上传---运维自己手动部署
  3. 运维使用脚本复制---半自动化
  4. 结合 web 界面一键部署---自动化

常见的持续集成开源工具:

在公司的服务器安装某种程序,该程序用于按照特定格式和方式记录和保存公司多名开发人员不定期提交的源代码,且后期可以按照某种标记及方式对用户提交的数据进行还原。

  1. CVS(Concurrent Version System):

早期的集中式版本控制系统,现已基本淘汰会出现数据提交后不完整的情况

  1. SVN(Subversion)--集中式版本控制系统

2000 年开始开发,目标就是替代 CVS 集中式管理,依赖于网络,一台服务器集中管理。目前依然有部分公司在使用

  1. Gitlib—分布式版本控制系统:

Linus 在 1991 年创建了开源的 Linux 内核,从此 Linux 便不断快速发展,不过 Linux 的壮大是离不开全世界的开发者的参与,这么多人在世界各地为 Linux 编写代码,那 Linux 内核的代码是如何管理的呢?事实是,在 2002 年以前,世界各地的志愿者把源代码文件通过 diff 的方式发给 Linus,然后由 Linus 本人通过手工方式合并代码!你也许会想,为什么Linus 不把 Linux 代码放到版本控制系统里呢?不是有 CVS、SVN 这些免费的版本控制系统吗?因为 Linus 坚定地反对CVS 和 SVN,这些集中式的版本控制系统不但速度慢,且必须联网才能使用,但是也有一些商用的版本控制系统,虽然比CVS、SVN 好用,但那是付费的,和 Linux 的开源精神不符,不过到了 2002 年,Linux 系统已经发展了十年了,代码库之大让 Linus 很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是 Linus 选择了一个商业的版本控制系统 BitKeeper,BitKeeper 的东家 BitMover 公司出于人道主义精神,授权 Linux 社区免费使用这个版本控制系统,但是安定团结的大好局面在 2005 年就被打破了,原因是 Linux 社区牛人聚集,不免沾染了一些梁山好汉的江湖习气,开发 Samba 的 Andrew 试图破解 BitKeeper 的协议(这么干的其实也不只他一个),被 BitMover 公司发现了(监控工作做得不错!),于是 BitMover 公司怒了,要收回 Linux 社区的免费使用权,这时候其实 Linus 可以向 BitMover 公司道个歉,保证以后严格管教弟兄们,但这是不可能的,而且实际情况是 Linus 自己花了两周时间自己用 C 写了一个分布式版本控制系统,这就是 Git!一个月之内,Linux 内核的源码已经由 Git 管理了!牛是怎么定义的呢?大家可以体会一下,然后 Git 迅速成为最流行的分布式版本控制系统,尤其是 2008 年,GitHub 网站上线了,它为开源项目免费提供 Git 存储,无数开源项目开始迁移至 GitHub,包括 jQuery,PHP,Ruby 等等。

版本控制系统分类:

  1. 集中式版本控制系统:

任何的提交和回滚都依赖于连接服务器 SVN 服务器是单点

  1. 分布式版本控制系统:

Git 在每个用户都有一个完整的服务器,然后在有一个中央服务器,用户可以先将代码提交到本 地,没有网络也可以先提交到本地,然后在有网络的时候再提交到中央服务器,这样就大大方便了开发者,而相比 CVS 和 SVN 都是集中式的版本控制系统,工作的时候需要先从中央服务器获 取最新的代码,改完之后需要提交,如果是一个比较大的文件则需要足够快的网络才能快速提交完成,而使用分布式的版本控制系统,每个用户都是一个完整的版本库,即使没有中央服务器也可以提交代码或者回滚,最终再把改好的代码提交至中央服务器进行合并即可。

gitlab 官网:

https://about.gitlab.com/

官方文档:

https://docs.gitlab.com/ee/install/

包下载地址:

https://packages.gitlab.com/app/gitlab/gitlab-ce

Gitlab 部署:

https://docs.gitlab.com/ee/install/requirements.html #环境要求

Ubuntu 系统环境准备:

$ sudo su - root
[sudo] password for jack:
# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# vim /etc/ssh/sshd_config #设置 root 用户可以远程 ssh 连接
PermitRootLogin yes
PasswordAuthentication yes
# cat /etc/netplan/01-netcfg.yaml #配置 ubuntu 网卡和主机名
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
    version: 2
    renderer: networkd
    ethernets:
        eth0:
        dhcp4: no
        addresses: [192.168.8.2/21]
        gateway4: 192.168.15.254
        nameservers:
            addresses: [192.168.15.254]
# cat /etc/hostname
jenkins.example.com
# reboot
# vim /etc/apt/sources.list #配置 ubuntu 仓库
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe ultiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# apt update
# 安装必备命令
# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server \
nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate \
tcpdump telnet traceroute gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev \
zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip ipmitool

安装 gitlab:

1. apt 或 yum 安装方式,安照官方文档配置安装。默认使用的仓库在国外,会比较慢。可以配置国内源

# 安装 gitlab-ce 源
# curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
# sudo apt-get install gitlab-ce=15.8.3-ce.0

2. 包安装方式

官方包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce

国内包下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/

注:下载的安装包,必须和 linux 系统版本一直,否则无法启动

# wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_15.8.3-ce.0_arm64.deb/download.deb
# dplg -c gitlab-ce_15.8.3-ce.0_amd64.deb #显示安装了哪些文件
# dpkg -i gitlab-ce_15.8.3-ce.0_amd64.deb #安装包命令

配置 gitlab:

# grep "^[a-Z]" /etc/gitlab/gitlab.rb
external_url 'http://192.168.8.3' #设置管理 url 地址,可以使用域名
##############################################
# 修改一下两项可以避免和别的服务产生端口冲突,如:jenkins 服务
puma['port'] = 8080
gitlab_workhorse['auth_backend'] = "http://localhost:8888" #注意 puma['port']与gitlab_workhorse['auth_backend']的端口必须相同
##############################################
gitlab_rails['webhook_timeout'] = 90 #修改超时时间
gitlab_rails['git_timeout']=90 #修改超时时间
# 可选邮件通知设置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2973707860@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "2973707860@qq.com"
user["git_user_email"] = "2973707860@qq.com"
# 修改数据存储位置
git_data_dirs({
“default” => {
“path” => “/data/gitlab-data”
}
})
# 修改备份存储位置
gitlab_rails['backup_path'] = "/data/gitlab-backups"
# 备份保存30天
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_archive_permissions'] = 0644 #生成的备份文件权限
gitlab_rails['backup_keep_time'] = 2592000 #默认备份保留天数为7天(604800秒,这里是30天)
# gitlab-ctl reconfigure #重新加载配置并启动服务,修改完配置文件要执行此操作

验证端口及状态:

80和8080端口是 gitlib 内部服务使用的,如果有其它程序占用会导致初始化失败或无法访问!
# lsof -i:80

登录 gitlab:

使用配置的 url 地址,如:http://x.x.x.x/ 登陆 web 管理界面
默认用户为 root,初始密码在 /etc/gitlab/initial_root_password 文件中。

安装生成的主要目录有:

/etc/gitlab #配置文件目录
/run/gitlab #运行 pid 目录
/opt/gitlab #安装目录
/var/log/gitlab #日志目录
/var/opt/gitlab #数据目录(包括组成 gitlab 各服务的配置文件和数据;gitlab 备份;项目代码等)
/var/opt/gitlab/backups/ #代码备份文件默认存放的目录
/var/opt/gitlab/git-data/repositories/ #代码库默认存储目录

管理 gitlab 服务的常用命令:

# gitlab-rails #用于启动控制台进行特殊操作,比如修改管理员密码、打开数据库控制台(gitlab-rails dbconsole)等
# gitlab-psql #数据库命令行
# gitlab-rake #数据备份恢复等数据操作
# gitlab-ctl #客户端命令行操作行
# gitlab-ctl stop #停止 gitlab
# gitlab-ctl start #启动 gitlab
# gitlab-ctl restar #重启 gitlab
# gitlab-ctl status #查看组件运行状态
# gitlab-ctl tail nginx #查看某个组件的日志

git 常用命令:

配置

$ git config --list #显示当前的Git配置
$ git config -e [--global] #编辑Git配置文件
$ git config --global --list #列出用户全局设置
# 设置提交代码时的用户信息,必须设置,因为提交代码是要使用该信息,它会永久记录到你的提交中
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
$ git config --global user.name "name" #设置全局用户名
$ git config --global user.email xxx@xx.com #设置全局邮箱

创建仓库

$ git init # 在当前目录新建一个Git代码库
$ git init [project-name] # 新建一个目录,将其初始化为Git代码库
$ git clone [url] # 下载一个项目和它的整个代码历史

增加文件到暂存区

git add index.html|[dir]|. # 添加指定文件、目录或当前目录下所有数据到暂存区
git add -f App.class # 用 -f 强制添加到暂存区

代码提交到工作区(相当于本地仓库)

git commit -m "11" # 提交暂存区文件到工作区,-m 选项是为提交设置一个注释内容
git commit [file1] [file2] ... -m [message] # 提交暂存区的指定文件到仓库区

查看信息

git status # 查看工作区的状态
git log --stat # 显示commit历史,以及每次commit发生变更的文件
git log # 查看操作日志

远程同步

git pull # 获取代码到本地
git pull [remote] [branch] # 取回远程仓库的变化,并与本地分支合并
git push [remote] [branch] # 上传本地指定分支到远程仓库
git push [remote] --force # 强行推送当前分支到远程仓库,即使有冲突
git push [remote] --all # 推送所有分支到远程仓库
git push # 提交代码到服务器

版本回退

git reset --hard HEAD^^ # git 版本回滚,HEAD 为当前版本,加一个^为上一个,^^为上上一个版本
git reflog # 获取每次提交的 ID,可以使用--hard 根据提交的 ID 进行版本回退
git reset --hard 5ae4b06 # 回退到指定 id 的版本

分支

$ git branch # 列出所有本地分支
$ git branch -r # 列出所有远程分支
$ git branch -a # 列出所有本地分支和远程分支
$ git branch [branch-name] # 新建一个分支,但依然停留在当前分支
$ git checkout -b [branch] # 新建一个分支,并切换到该分支
$ git branch [branch] [commit] # 新建一个分支,指向指定commit
$ git branch --track [branch] [remote-branch] # 新建一个分支,与指定的远程分支建立追踪关系
$ git checkout [branch-name] # 切换到指定分支,并更新工作区
$ git checkout - # 切换到上一个分支
$ git branch --set-upstream [branch] [remote-branch] # 建立追踪关系,在现有分支与指定的远程分支之间
$ git merge [branch] # 合并指定分支到当前分支
$ git cherry-pick [commit] # 选择一个commit,合并进当前分支
$ git branch -d [branch-name] # 删除分支
$ git push origin --delete [branch-name] # 删除远程分支
$ git branch -dr [remote/branch]

git 定义忽略文件

在 Git 工作区的根目录下创建一个 .gitignore 文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件。

忽略文件的原则是:

1. 忽略操作系统自动生成的文件,比如缩略图等;

2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;

3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

# vim .gitignore #模版,可以直接使用
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# 排除所有.开头的隐藏文件:
.*

  # 排除所有.class文件:
*.class

# 忽略 build/ 目录下的所有文件
build/

  # 不排除.gitignore和App.class:
!.gitignore
!App.class

通过网页管理 gitlab:

关闭账号注册功能:

三道杠 --> 管理员 --> 设置 --> 通用 --> 注册限制 --> 已启用注册功能,去掉勾选 --> 保存更改

创建 gitlab 账户:

点点点

创建组:

使用管理员 root 创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理。

使用管理员创建项目:

点点点

将用户添加到组:

https://docs.gitlab.com/ee/user/permissions.html

操作实例:

1. 创建一个测试页面:

找到项目界面

添加一个页面

2. git 客户端测试 clone 项目:

# git clone http://192.168.8.3/test-service/test-project.git
Cloning into 'test-project'...
Username for 'http://192.168.8.3': jack
Password for 'http://jack@192.168.8.3':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
# cat test-project/index.html
<h1>11111111111</h1>

3. 编辑文件并测试提交:

# cd test-project/
# git config --global user.name "jack"
# git config --global user.email 2973707860@qq.com
# vim index.html
# cat index.html
<h1>11111111111</h1>
<h1>22222222222</h1>
# git add index.html
# git commit -m "v1"
# git push
Username for 'http://192.168.182.130': aaa
Password for 'http://aaa@192.168.182.130':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 2 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 246 bytes | 246.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To http://192.168.182.130/web1/webapp.git
adccea9..2846709 main -> main

4. 登录 gitlab 端验证数据:

配置用户可以使用 ssh 协议从 gitlab 克隆、pull、push 代码:

# ssh-keygen
# cd /root/.ssh/
# ll
total 12
-rw------- 1 root root 1679 Mar 25 13:43 id_rsa
-rw-r--r-- 1 root root 394 Mar 25 13:43 id_rsa.pub
# cat id_rsa.pub #将公钥添加到 web 界面的用户中
# git clone git@192.168.182.130:web1/webapp.git #测试

gitlab 数据备份恢复:

备份数据主要包括两种,一个是 gitlab 自身的配置,一个是存储在 gitlab 中的代码

注:可以在任何目录下,执行备份或恢复命令。GitLab 在备份或恢复数据的时候需要满足 gitlab 的版本号是一致的。
关于备份的配置如下,一般保持默认

# mkdir -p /data/gitlab-data #创建数据存储目录
# mkdir -p /data/gitlab-backups #创建备份存储位置

# /etc/gitlab/gitlab.rb
# 修改数据存储位置
git_data_dirs({
   "default" => {
       "path" => "/data/gitlab-data"
    }
})
# 修改备份存储位置
gitlab_rails['backup_path'] = "/data/gitlab-backups"
# 备份保存30天
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_archive_permissions'] = 0644 #生成的备份文件权限
gitlab_rails['backup_keep_time'] = 2592000 #默认备份保留天数为7天(604800秒,这里是30天)

# gitlab-ctl stop
# gitlab-ctl reconfigure
# gitlab-ctl start

备份 GitLab 配置:

# 在 GitLab 12.3 中引入。备份目录为:/etc/gitlab/config_backup/。gitlab-ctl backup-etc --backup-path <DIRECTORY> 会将备份放置在指定目录中,如果该目录不存在,将创建该目录。建议使用绝对路径。

# gitlab-ctl backup-etc
# crontab -e -u root #自动备份
15 04 * * 2-6 gitlab-ctl backup-etc && cd /etc/gitlab/config_backup && cp $(ls -t | head -n1) /secret/gitlab/backups/

恢复 GitLab 配置:

# mv /etc/gitlab /etc/gitlab.$(date +%s)
# tar -xf gitlab_config_1487687824_2017_02_21.tar -C /
# gitlab-ctl reconfigure

需要手动完成的配置备份:

/etc/gitlab/gitlab.rb #gitlab 配置文件
/etc/gitlab/gitlab-secrets.json
/var/opt/gitlab/nginx/conf/* #nginx配置文件
/etc/postfix/main.cfpostfix #邮件配置备份
注:恢复时,手动把以上备份文件放到原位置即可

备份 GitLab 应用程序数据:

包括:Git 存储库、SQL 数据

# gitlab-backup create #GitLab 12.1 之后版本
# gitlab-rake gitlab:backup:create #GitLab 12.1 及之前版本。在任意目录即可备份当前 gitlab 数据
# 备份命令生成的备份文件:
/var/opt/gitlab/backups/ #Gitlab 数据备份目录,生成的备份文件文件名格式如:1678343824_2023_03_09_15.8.3_gitlab_backup.tar
# vim gitlab_bak.cron #自动备份应用程序数据
0 1 * * * /root/gitlab_bak.sh
# vim gitlab_bak.sh
#!/bin/sh
gitlab-backup create
cd /var/opt/gitlab/backups/
mkdir gitlab_$(date +%Y%m%d)
find . -name '*.tar' -ctime -1 -exec cp {} /var/opt/gitlab/backups/gitlab_$(date +%Y%m%d)/ \;
cp /etc/gitlab/gitlab.rb /var/opt/gitlab/backups/gitlab_$(date +%Y%m%d)
cp /var/opt/gitlab/nginx/conf /var/opt/gitlab/backups/gitlab_$(date +%Y%m%d)
cp /etc/postfix/main.cfpostfix /var/opt/gitlab/backups/gitlab_$(date +%Y%m%d)
cp /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups/gitlab_$(date +%Y%m%d)
zip -rP password gitlab_$(date +%Y%m%d).zip gitlab_$(date +%Y%m%d)/
cp gitlab_$(date +%Y%m%d).zip /backup_wuhan/gitlab/
# crontab /root/gitlab_bak.cron >~/log
# crontab -l

恢复 GitLab 应用程序数据:

# gitlab-ctl stop puma #停止 gitlab 数据服务
# gitlab-ctl stop sidekiq #停止 gitlab 数据服务
# 不要写备份文件的全名,写到 unix 时间戳_年_月_日_gitlab 版本号即可
# gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce #GitLab 12.1 之后版本
# gitlab-rake gitlab:backup:restore BACKUP=备份文件名 #GitLab 12.1 及之前版本
# gitlab-ctl start sidekiq
# gitlab-ctl start puma

相关推荐

七条简单命令让您玩转Git
七条简单命令让您玩转Git

凭借着出色的协作能力、快速部署效果与代码构建辅助作用,Git已经得到越来越多企业用户的青睐。除了用于开发商业及消费级应用之外,众多科学及政府机构也开始尝试使用这...

2023-10-07 12:14 guanshanw

基本完整的关于Git分支branch的操作
基本完整的关于Git分支branch的操作

Git使用背景项目中要用到dev或者其他分支开发完代码,需要将该分支合并到master的需求操作步骤下面以dev名称为lex为分支名为例来操作一遍客户端操作:...

2023-10-07 12:14 guanshanw

Git 进阶(合并与变基)
Git 进阶(合并与变基)

在Git中整合来自不同分支的修改主要有两种方法:合并(merge)以及变基(rebase)合并(merge)merge流程图merge的原理是找到这两个分...

2023-10-07 12:13 guanshanw

Git学习笔记 003 Git进阶功能 part5 合并(第一部分)

合并(merge)是很常用的操作。尤其是一个庞大的很多人参与开发的企业级应用。一般会设定一个主分支,和多个副分支。在副分支开发完成后,合并到主分支中。始终保持主分支是一个完整的,稳定的最新状态的分支。...

非标题党,三张图帮你理解git merge和git rebase的区别
非标题党,三张图帮你理解git merge和git rebase的区别

初始场景:基于正常的开发分支修改几个小bug,然后在合并到开发分支上。gitmergegitcheckoutfeaturegitmergeho...

2023-10-07 12:13 guanshanw

git 初次使用(01)
git 初次使用(01)

先从github上克隆代码下来:使用vscode克隆代码如下图,填写上github仓库地址:vscode有时候克隆代码速度比较慢,可以用命令行方式克隆gitc...

2023-10-07 12:12 guanshanw

Git 远程操作

4.Git远程操作命令说明gitremote远程版本库操作gitfetch从远程获取版本库gitpull下载远程代码并合并gitpush上传远程代码并合并4.1远程版本库操作gitre...

Git常用命令-总结
Git常用命令-总结

创建git用户$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.em...

2023-10-07 12:12 guanshanw

git中删除从别人clone下来项目的git信息,并修改为自己的分支

如果你从别人的Git存储库中克隆了一个项目,并想要删除与该存储库相关的Git信息,并将其修改为你自己的分支,则可以执行以下步骤:使用gitclone命令克隆存储库:gitclone<u...

git系列-回滚和放弃本地修改

回滚历史提交就是reset的功能。这种情况是已经提交远程仓库,需要回滚到之前的提交。gitreset--hardcommitId//注:强制提交后,当前版本后面的提交版本将会删掉!gi...

GIT使用小技巧大全
GIT使用小技巧大全

在大型软件工程的开发过程中,版本控制是无法绕过去的;目前来说,最火的版本控制软件就是GIT了。早两年SVN比较火,不过被大神linus喷了几次后,就日落西山了,...

2023-10-07 12:11 guanshanw

git相关命令-上
git相关命令-上

这些命令都是看了文档后,个人觉得比较有用的一些,展示给大家。回到远程仓库的状态抛弃本地所有的修改,回到远程仓库的状态。gitfetch--all&...

2023-10-07 12:10 guanshanw

Git命令行接口:掌握Git的必备技能
Git命令行接口:掌握Git的必备技能

Git是一款强大的分布式版本控制工具,它支持命令行界面操作。熟练掌握Git命令行接口,是开发者使用Git的必备技能之一。在这篇文章中,我们将介绍Git命令行接口...

2023-10-07 12:10 guanshanw

Git命令详解
Git命令详解

相信各位小伙伴们应该都对git有一些了解,毕竟作为代码管理的神器,就算不是IT行业的小伙伴肯定也或多或少的听说过一些。今天就来和小伙伴们分享一下自己总结的常用命...

2023-10-07 12:10 guanshanw

工作7年收集到的git命令
工作7年收集到的git命令

概念git中的术语解释:仓库也叫版本库(repository)stage:暂存区,add后会存到暂存区,commit后提交到版本库git安装linux...

2023-10-07 12:10 guanshanw

取消回复欢迎 发表评论: