当前位置: 首页 > news >正文

Git仓库使用

一、推送本地库到远程库

1、新建库,并创建测试文件 test.txt

2、设置用户信息

git config --local user.name 'simple'

git config --local user.mail 'simple@163.com'

3、关联本地库与远程仓库

git remote add origin <远程仓库连接>

 

添加后,远程库的名字就是origin,这是Git默认的名字,也可以改成别的,但是origin这个名字⼀看就知道是远程库。下一步,就可以把本地库的所有内容推送到远程库上:

git push -u origin master

第一次推送时,远程库和本地库并不同步,需要先拉取远程库到本地库才能推送,远程库默认创建了README.md 和 .gitignore 文件

 处理完冲突后,来到这一步

git push -u origin master

 

第⼀次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master 分支关联起来

只要本地作了提交,就可以通过命令:

git push origin master

把本地 master 分支的最新修改推送至远程仓库

 git remote show 查看远程仓库

origin相当于远程仓库的链接别名

git remote show origin 查看远程仓库明细

 

上面命令展示了origin的详细信息,

Fetch URL:远程拉取的url

Push URL:push推送的url

HEAD branch :头指针指向的 master 分支

Remote branch :同时远程分支是被追踪的状态

Local branch configured for 'git pull':本地 master 分支被配置成 git pull 会拉取并且合并远程 master

Local branch configured for 'git push':本地 master 分支配置成 git push 推送远程 master

4、查看远程分支

origin master关联的是远程的master分支,用于追踪远程分支的状态

git branch -a 查看远程分支

加上参数v可以查看本地分支和远程分支的最后提交

此时,本地 master 和 远程 master 是同步的,都是最新的

修改 a.txt 文件

提交修改后再查看git status,发现本地master分支领先了1次提交。

从分支的详细信息中可以看到,远程分支的提交版本和master的提交版本不同,本地领先了。

把本次修改推送到远程,

远程和本地便保持了版本的同步

二、多人协作

1、项目克隆

把远程项目克隆到本地形成一个本地的仓库

git clone <远程仓库地址> <自定义名字>

发现克隆下来的仓库和远程仓库的名字一致

可以通过命令中的自定义名字的选项定义克隆到本地后,本地仓库的名字

2、多人协作

克隆远程仓库并命名为 testGit1

进入当前仓库,并设置仓库级的用户和邮箱

没有做其他变动,和远程仓库是一致的

3、协作处理

在 testGit 中通过 simple 添加文件 c.txt 并推送到远程

simple 的 push 已经到远程仓库

在testGit1仓库中 niko 查看远程状态发现已经过期

此时 niko 应该从远程仓库来更新拉取

fast-forward表示不需要手工处理冲突直接合并

4、冲突处理

当两个人修改同一个文件的同一行的时候就会发生冲突

使用 simple 修改 c.txt 内容后,提交并且推送到远程

此刻 niko 也修改 c.txt 内容,提交并且推送远程的时候发现出现冲突,推送失败

此刻 git 要求先拉取更新

提示拉取成功,但是自动合并失败。git建议修改冲突后提交,保留 niko 的

5、分支推送协作

在 simple 下创建 develop 分支

发现 git push 无法把 develop 推送到远程

git push --set-upstream origin develop 把本地的分支推送到远程分支

可以看到远程分支已经推送

同时本地也关联了远程develop分支

除此之外,还可以使用下面命令完成远程分支推送

git push -u origin <分支名>

6、分支拉取协作

由于 simple 已经推送,使用 niko 的账户来拉取,可以看到新建立了分支

发现有远程分支,但是没有本地的develop分支。

这时可以创建本地的 develop 分支,同时也可以修改本地分支的名字

git checkout -b <自定义本地分支名> <远程分支名>

还可以使用另一种方式本地分支的追踪,但是必须要先 git pull

git checkout --track <远程分支名>

7、远程分支的删除

在 simple 仓库删除 develop 分支,删除之后远程的 develop 分支关联还在

删除对应的远程分支

通过 niko 用户来查看本地对应的远程分支的时候,可以看到远程分支的变化

git remote show origin

git remote prune origin 查看 origin 远程对应的分支

三、tag标签远程管理

1、git tag <标签名> 创建标签

新建标签,标签有两种:轻量级标签(lightweight)与带有附注标签(annotated)

创建一个轻量级标签。

创建标签记在HEAD指针所指向的提交点创建tag(就是当前所在分支)

创建一个新文件 v2.txt ,并提交远程仓库

创建一个带有附注的标签

git tag -a v2 -m 'v2 version'

创建 v3 标签,用于删除标签

2、git push origin推送标签

创建一个新文件 v3.txt ,并提交远程仓库

创建v3标签

把三个标签推送到远程

远程仓库可以看到标签信息

3、标签拉取

使用 niko 用户拉取远程仓库中的标签

4、删除远程标签

在 simple 上删除远程标签 v3,此时,本地还存在

simple 和 niko 中删除本地标签

git push origin --delete tag <标签1> <标签2> 批量删除

5、标签检出

git checkout -b <branchName>  <tagName>

创建 tx_master_v1.0 标签并且推送到远程

通过此标签来检出分支myfeature:

git checkout -b myfeature tx_master_v1.0

次分支这是本地分支,可以推送到远程

四、Git图形界面

1、gitk

在仓库路径下输入gitk

在界面上可以看到提交的流程。包括分支的合并。同时可以做分支管理和标签管理

2、Git GUI

在命令行中输入git gui

五、Idea 中集合 Git 使用

打开IDEA进入设置界面(可以直接点击工具栏上的,也可以通过快捷键 Ctrl + Alt + S ),搜索git,如下图是我设置好的:

可以看到 Git 是在 VersionControl 选项里

Path to Git executable 就是本地 Git 安装路径中 bin 目录下的 git.exe,选择好路径后点击 Test 按钮,如果正确安装且路径正确,那么会弹出如下对话框,表示配置成功:

创建 git 本地库,克隆 GitHub 上的仓库

通过idea引入代码

可以发现当前代码没有在 idea 的 git 上关联,选中添加即可。

此时 idea 和 git 本地库就已经关联上了。

此刻就可以开发了。

六、GitLab的使用

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用。

1、安装GitLab

Gitlab的rpm包集成了它需要的软件,简化了安装步骤,所以直接安装rpm包即可,rpm包的获取从官方网站或者国内镜像源(如:清华https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/)获取,gitlab又分为社区版和企业版(收费),这里部署的是社区版本10.8.4

可以使用命令:

rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm

进行在线安装

这里使用安装包本地安装

在根目录 / 下创建安装目录,mkdir -p /usr/local/src/gitlab

进入 gitblab 目录 输入命令:

rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 进行解压

解压后输入命令:

vi /etc/gitlab/gitlab.rb

修改配置,使能够从外界访问

找到 external_url ,修改为云服务器的ip地址

输入命令:

gitlab-ctl reconfigure

重新加载配置

提示已经重新加载了配置

输入命令 :

gitlab-ctl status

查看gitlab运行状态

已经成功安装

2、登录并产生秘钥

访问服务器 ip 地址

重置密码

登录:默认用户名是root,密码使用刚刚重置过的。

创建空白项目

选择项目路径,输入项目名称,项目描述,选择项目等级(私人的,内部的,公开的)

上面有一行黄色的提示,要求我们配置ssh

首先在服务器上生成公钥:

ssh-keygen

使用默认值,需要三次回车,生成类似的内容

输入命令:cat .ssh/id_rsa.pub,查看公钥,将公钥复制到 gitlab 中

我们在远程机器生成私钥

生成新的SSH密钥:ssh-keygen -t rsa -C "your_email@address"

此命令将提示您用于存储密钥对和密码的位置和文件名。当提示输入位置和文件名时,只需按Enter键即可使用默认值。如果使用其他名称,则不会自动使用该密钥。

在C盘下 .ssh 文件夹中会生成 id_rsa 和 id_rsa.pub 两个文件,其中 id_rsa.pub 里面是以ssh-rsa开头并以您的用户名和主机结尾的完整密钥。将密钥复制粘贴到 profile settings中 SSH keys 选项卡下,add an ssh key ,保存。

步骤:

         在window系统打开命令行输入

ssh-keygen -t rsa -C "renliangjava@163.com"

打开id_rsa.pub,把所有内容复制

到Gitlab中将密钥复制粘贴到profile settings中 SSH keys 选项卡下,add anssh key ,保存。跟添加公钥的步骤完全一致

仓库的使用和Gitee与Github相同。

http://www.lryc.cn/news/593512.html

相关文章:

  • 网络原理——TCP
  • string【下】- 内功修炼(搓底层)
  • 零基础 “入坑” Java--- 十二、抽象类和接口
  • LibreTv在线观影项目部署开箱即用
  • QT窗口(5)-对话框
  • MySQL基础教程
  • 变频器实习Day10
  • 06-人机共生:Prompt之外的思考
  • VRRP-虚拟路由冗余协议
  • Spring AI 项目实战(十九):Spring Boot + AI + Vue3 + OSS + DashScope 构建多模态视觉理解平台(附完整源码)
  • 【HarmonyOS】Ability Kit - Stage模型
  • java: DDD using sql server 2019 or Oracle21c
  • 【嵌入式电机控制#16】电流环(三):过采样提高采集精度看门狗监测总线电压
  • C++类和对象(一)基础内容讲解
  • 【项目分享】动手做一个TypeC转TTL模块(附带原理图)
  • Spring MVC @RequestParam注解全解析
  • 数据库第四次作业
  • 【C++】初识C++(2)
  • 完美解决 Ubuntu 中自定义启动器图标重复的问题(以 MATLAB 为例)
  • nginx.conf模版
  • 基于GEE与哨兵2号的土地覆盖分类方法及实现
  • python网络爬虫之selenium库(二)
  • uview-ui使用u-row+u-avatar居中布局
  • uview-ui使用u-icon文字图标展示
  • react+antd 可拖拽模态框组件
  • Python之--元组
  • RabbitMQ01——基础概念、docker配置rabbitmq、内部执行流程、五种消息类型、测试第一种消息类型
  • Java学习--------消息队列的重复消费、消失与顺序性的深度解析​
  • I/O 多路复用select,poll
  • Java 中的继承与多态