Git原理与应用(三)远程操作

这篇具有很好参考价值的文章主要介绍了Git原理与应用(三)远程操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.远程仓库操作

Git是一个分布式版本控制系统

1.理解分布式版本控制系统

在分布式版本控制系统中:
每一台电脑都有完整的版本库,你可以在本地分支上进行提交代码,合并分支,解决冲突等操作
在多人协作开发的时候只需要把各自的修改推送给对方,就能够看到对方修改后的代码了

2.远程仓库的创建

登录码云网站,注册账号
新建远程仓库
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后点击创建
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
我们也可以将这个仓库设置为开源

创建成功后我们要将这个远程仓库克隆到本地

3.远程仓库克隆到本地

克隆/下载远程仓库到本地需要使用

git clone 远程仓库链接

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
我们可以在这里找到刚才远程仓库的链接
我们在这里使用https协议来克隆远程仓库到本地
克隆仓库时需要我们输入码云平台的密码和码云平台的用户名
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
这个@后面的东西就是用户名 wu-zaishuo
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
下面我新创建了一个目录:
blogforgit
然后进入到这个目录当中进行git clone把远程仓库
git_blog克隆过来

4.向远程仓库推送:push

git push

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
如何配置:

git config user.name "用户名称"
git config user.email "email地址"

还有一个选项:--global:
git config --global user.name "用户名称"
git config --global user.email "email地址"

这个--global的意思就是:如果加上这个--global
那么就表示这台机器上的所有的Git仓库都会使用这个配置.

如果你希望在不同仓库中使用不同的用户名或email地址
那么可以不加这个选项

查看配置:

git config -l

删除配置:

git config --unset user.name
git config --unset user.email

git config --global --unset user.name
git config --global --unset user.email

在git_blog里面新建一个文件test.txt
并写入:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后add commit
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
我之前配置过git了
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时我们的远程仓库里面就有test.txt这个文件了
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

git push 远程主机名(默认是origin) 本地仓库的分支名:远程仓库的分支名

注意:
如果本地仓库的分支名跟远程仓库的分支名相同,则可以省略冒号这样去写
git push 远程主机名(默认是origin) 本地仓库的分支名

5.拉取远程仓库:pull

push是推送本地仓库到远程仓库当中
作用: 在本地仓库领先于远程仓库时 让远程仓库跟本地仓库同步

pull是拉取远程仓库到本地仓库中
作用: 在远程仓库领先于本地仓库时 让本地仓库跟远程仓库同步

git pull 远程主机名(默认是origin) 远程仓库的分支名:本地仓库的分支名

注意:
如果本地仓库的分支名跟远程仓库的分支名相同,则可以省略冒号这样去写
git push 远程主机名(默认是origin) 远程仓库的分支名

二.模拟进行多人协作开发

目前我们所学习到的内容如下:
1.基本完成了Git本地仓库的相关操作,git的基本操作,分支理解,版本回退,冲突解决等等
2.申请码云账号,克隆远程仓库,以及push和pull

下面我们模拟多人开发场景来更加深刻地学习Git

1.准备工作

首先,我们在Windows环境下再去克隆那个git_blog远程仓库到本地,来模拟那位跟我们一起协作开发的小伙伴
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
打开之后就类似于这个样子:
叫做Windows PowerShell
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后

git clone 远程仓库链接

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
克隆成功
我们现在就相当于有了两个用户,分别在Linux和Windows上面针对于于同一项目进行协作开发

然后我们在gitee网站上面新建一个dev分支来供我们使用
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后我们pull拉取到本地仓库中,并且在本地仓库也建立dev分支

注意:一定要先进入克隆下来的远程仓库里面,然后在进行下面的操作!

首先是我们Linux环境下的操作:
首先pull拉取远程仓库
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

git branch  查看本地分支
git branch -r 查看远程分支
git branch -a 既可以查看远程分支,又可以查看本地分支

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后在本地仓库也建立dev分支

git checkout -b dev origin/dev
新建本地分支dev  并跟远程分支dev进行关系链接
关于这个关系链接的作用:
如果有关联起来的话
将来我们可以只使用git push来推送
而且对于git pull来说也是这样

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
接着是Windows环境下的操作:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
在Windows下建立dev分支时我们就不去一块跟远程分支dev建立关系链接了(为了说明建立关系链接跟不建立关系链接各自的操作)
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
至此,我们模拟多人协作开发的准备工作到此结束

2.多人协作1

1.多人协作开发

1.Linux用户开发

首先我们作为Linux用户现在dev分支上进行一次开发,并且push到远程
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时我们成功将file.txt推送到远端的dev分支下了
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

2.Windows用户开发

为了演示合并冲突,我们让Windows用户也去对file.txt做修改
并且push
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
新建一个文本文件并且写入内容
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时出现了合并冲突
Git提示我们先用git pull把最近的提交从远程分支dev下拉取过来
然后在本地进行合并冲突然后再去推送

2.合并冲突

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
那么该怎么办呢?

git branch --set-upstream-to=origin/dev dev
建立链接

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后我们解决冲突
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后重新add commit push
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时远端仓库就能够看到我们的新提交了
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
对于我们Linux开发者来说要想看到新的代码
只需要pull一下即可
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

3.分支合并

但是不要忘记
虽然我们是在dev分支上进行多人协作开发,但是我们最终的目的是要将开发后的代码合并到master上面去
让我们的项目运行最新的代码

  1. 切换至master分支,pull一下,保证本地的master分支是最新内容
  2. 切换至dev分支,合并master分支
  3. 切换至master分支,合并dev分支
  4. 将master分支推送到远端
    下面我们在Linux环境下进行这4步操作

第一步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第二步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第三步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第四步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时master分支下已经是最新代码了
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时dev分支对我们来说已经没用了
我们直接在远程仓库中删除dev分支

4.小结

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

2.多人协作2

一般情况下,如果有多需求需要多人同时进行开发,是不会在一个分支上进行多人开发的,而是一个需求或者一个功能就需要创建一个feature分支
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

1.多人协作开发

1.Linux用户开发

1.新增本地分支feature-1并切换
2.新增需求内容:创建funtion1.txt文件
3.将feature-1分支推送到远端
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

2.Windows用户开发

1.新增本地分支feature-2并切换
2.新增需求内容:创建funtion2.txt文件
3.将feature-2分支推送到远端
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

此时,在本地,你看不⻅他新建的⽂档,他看不⻅你新建的⽂档。并且推送各⾃的分⽀时,并没有任何冲突,你俩互不影响,⽤起来很舒服!

对于feature-1分支:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
对于feature-2分支:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
正常情况下,你们两个人就可以在自己的分支上进行开发啦

2.意外来临

不过意外来临了,你的小伙伴生病了,但是它负责的需求还没有开发完
需要你去帮他继续开发
这时你就要在自己的机器上切换到feature-2分支帮他继续开发

  1. 必须要先拉取远程仓库内容
  2. 创建feature-2本地分支并且跟远程分支feature-2关联起来
  3. 切换到feature-2分支继续开发
  4. 推送内容
    第一步:
    Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
    Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
    第二步:
    Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
    如果有关联起来的话
    将来我们可以只使用git push来推送

第三步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第四步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时推送成功
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

3.Windows用户继续开发

此时小伙伴痊愈了
继续投入到开发当中

1.pull

先建立链接
然后pull
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
pull成功
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
然后Windows用户继续开发,并且率先开发完毕,开始merge

2.merge

1.切换至master,pull一下,保证本地的master是最新内容
2.切换至feature-2分支,合并master分支
3.切换至master分支,合并feature-2分支
4.将master分支推送至远端

第一步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第二步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第三步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第四步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
推送成功
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

4.Linux用户merge

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
我们可以发现,还是那些操作

不过在第2步合并完master分支之后
我们可以先push一下
因为:
1.feature-1分⽀已经merge进来了新内容,为了保证远程分⽀最新,所以最好push⼀下。
2.在实际的开发中,master的merge操作⼀般不是由我们⾃⼰在本地进行的
其他⼈员merge时,操作的肯定是远程分⽀,所以就要保证远程分⽀的最新

如果merge出现了冲突,不要忘记需要commit才可以push!

第一步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第二步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第三步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
第四步:
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
此时开发成功
最后删除feature-1和feature-2分支即可

三.补充

1.远程分支删除之后,本地git branch -a依然能够看到的解决方法

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
当前我们已经删除了远程的⼏个分⽀,使⽤git branch -a命令可以查看所有本地分⽀和远程分⽀,但发现很多在远程仓库已经删除的分⽀在本地依然可以看到

git remote show origin
可以查看remote地址,远程分支还有跟本地分支相对应的关系等等信息

git remote prune origin 删除那些远程仓库中已经不存在的分支

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作
Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

2.给配置起别名

Git支持对命令进行简化
举个例子:
将git log --pretty=oneline简化为glog

git config alias.glog log --pretty=oneline
git config --global alias.glog log --pretty=oneline

这里的–global可加可不加,
加上之后这些命令在这台机器的所有Git仓库都有用
如果不加,那么只针对当前仓库起作用

3.标签管理

1.理解标签

Git原理与应用(三)远程操作,Git,Linux学习之路,git,远程操作

2.创建标签

git tag        作用: 查看所有标签
git tag 标签名  作用: 创建标签

默认情况下标签是打在最新提交的commit上的
那如何在指定的commit上打标签呢?方法是找到历史提交的commit id,然后打上就可以了

注意:标签不是按时间顺序列出,而是按照字母排序的

git show 标签名    作用:   查看标签信息
git tag -a 标签名 -m "说明文字" [commit id]
作用:创建带有说明的标签
-a用来指定标签名   
-m用来指定说明文字

打完标签之后我们也可以使用tree .git来查看一下本地仓库的变化
加深理解

3.操作标签

git -d 删除标签
因为创建的标签都只存储在本地,不会⾃动推送到远程.所以,打错的标签可以在本地安全删除

推送某个标签到远程:
git push origin 标签名

一次性把所有的标签都推送到远端:
git push origin --tags

如果该标签已经推送到远程,那么删除标签就要这样:
1.先从本地删除
2.从远程删除:
删除命令:git push origin :refs/tags/标签名

以上就是Git原理与应用(三)远程操作的全部内容,希望能对大家有所帮助!文章来源地址https://www.toymoban.com/news/detail-777003.html

到了这里,关于Git原理与应用(三)远程操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git学习(一)基于本地操作:Git初识、Git安装(Linux-ubuntu)、Git 基本操作、分支管理

    目录 Git 初识 Git 安装(Linux-ubuntu) Git 基本操作 创建 Git 本地仓库 配置 Git 认识工作区、暂存区、版本库 添加文件 查看 .git 文件 修改文件 版本回退 撤销修改 情况一:对于工作区的代码,还没有 add 情况二:已经 add ,但没有 commit 情况三:已经 add ,并且也 commit 了  删除文

    2024年04月08日
    浏览(53)
  • LINUX学习笔记_GIT操作命令

    基本命令 git init:初始化仓库 git status:查看文件状态 git add:添加文件到暂存区(index) git commit -m “注释”:提交文件到仓库(repository) git log:查看仓库里面的更新历史日志,git log --pretty=oneline --all --graph --abbrev-commit git reset --hard commitID:版本回退commit ID git reflog:过往的

    2024年02月12日
    浏览(36)
  • Git第十一讲 Git远程仓库操作

    远程仓库是与他人共享代码并进行协作开发的关键。Git 提供了丰富的功能来管理远程仓库,包括拉取、推送和解决冲突等操作。本章将介绍如何有效地进行远程仓库操作。 拉取和推送是与远程仓库进行数据同步的常用操作。通过拉取,你可以获取远程仓库中的最新更改并合

    2024年02月13日
    浏览(48)
  • 【Linux进阶之路】gcc/g++、Makefile、git

    在正式开始之前我们先补充一个知识点——普通用户提权的操作。 那如何将tmp1添加到信任白名单——sudoers文件 中呢? 肯定不能自己加,得超级管理员root加—— 第一步:切到超级用户 。 找到sudoers文件——/etc/sudoers 第二步:编辑此文件 。 第三步: 在大概一百行左右会出现

    2024年02月12日
    浏览(26)
  • 【Git】:远程仓库操作

    我们⽬前所说的所有内容(⼯作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。⽽ 我们的Git其实是分布式版本控制系统 。 可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联⽹了,因为版本库就在你

    2024年02月22日
    浏览(35)
  • Git—远程仓库操作

    🔗https://github.com/ 全球最大的代码托管平台,几乎全球所有知名的开源项目都在此网站上。缺点是国内访问间接性抽风。 🔗https://about.gitlab.com/ Gitlab支持公有和免费的私有仓库,体验与Github相似,常用于企业内网搭建,同样速度比较慢。 🔗https://gitee.com/ 国内代码托管的老大

    2024年02月05日
    浏览(62)
  • git连接远程仓库操作

    1. 初始化仓库 git init 2. 本地仓库添加git仓库作为远程仓库,起名origin git remote add origin 远程仓库地址 3. 本地仓库与远程仓库关联 git branch --set-upstream-to=origin/master master 如果报错,执行第四步 4. 重新设置并与远程仓库关联 git pull origin master --allow-unrelated-histories git branch --set-u

    2024年02月12日
    浏览(44)
  • Git远程操作

    目录 1.远程操作 1.1理解分布式版本控制系统 1.2远程仓库. 1.2.1新建远程仓库 1.2.2克隆远程仓库 1.2.3向远程仓库推送 1.2.4拉取远程仓库 1.3配置Git 1.3.1忽略特殊文件 1.3.2给命令配置别名 2.标签管理 2.1理解标签 2.2创建标签 2.3操作标签 我们目前所说的所有内容(工作区,暂存区,版

    2024年02月04日
    浏览(17)
  • Git--远程操作

    正文开始!!! 我们目前所说的所有内容(工作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上.而我们的**Git其实是分布式版本控制系统!**什么意思呢? 可以简单理解为,我们每个人的电脑上都是一个完整的版本库,这样你工作的时候,就不需要联网了,因为版本库

    2024年02月07日
    浏览(17)
  • Git操作远程仓库

    目录 1.配置SSH公钥  2.添加远程仓库  3.查看远程仓库 4.删除远程仓库 5.推送到远程仓库  6.从远程仓库克隆 7.从远程仓库中拉取 8.解决合并冲突 生成公钥        不断回车 如果公钥已经存在,则自动覆盖 获取公钥  验证是否配置成功 此操作是先初始化本地库,然后与已创建

    2024年01月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包