Git:Git中的远程操作和标签管理--分布式版本控制系统

简介: Git:Git中的远程操作和标签管理--分布式版本控制系统

本篇主要总结关于Git中远程操作的相关事项:

理解分布式版本控制系统

在进行远程操作前,首先要理解什么是分布式版本控制系统

理解这个问题时要思考这样的问题:我之前进行的addcommit的操作都是在我本地进行的,如果我的电脑坏了怎么办

因此,就出现了一个解决方案,让多台计算机都把这个仓库进行备份,并且只要有任何一个计算机的仓库下提供了一个改变,都会把数据推送给其他人的电脑,其他人就可以从仓库中看到某个人的更新记录

这个操作是有历史进步意义的,但这个方法依旧不好,计算机并不稳定,如果还没有备份到多台机器上就已经全部损失了数据该怎么办?

因此,就出现了现在主流的管理方案,有一个中央服务器,这个中央服务器是24h进行运转,并且十分稳定,有谁需要进行操作就可以在仓库中进行相关的操作,这样既能保证开发效率的前提下,还能使得仓库变得十分的稳定,而这个中央服务器,就是所谓的GithubGitee

克隆仓库

在Gitee中可以获取到克隆的链接,直接使用命令:

# xxxx表示克隆的地址
git clone xxxx

远程推送

本地已经clone成功了远程仓库后,就可以向仓库中提交内容,例如新增一个file.txt文件

在提交的时候需要注意的是,前面有进行过全局的name和email的配置,这两个信息是要和gitee上的用户名和邮箱是需要一致的,否则会导致推送出错

当使用完addcommit的操作后,就可以把仓库中的信息推送到远程仓库了:

git push [远程主机名] [本地分支名]:[远程分支名]

需要注意的是,如果本地分支名和远程分支名相同,那么冒号和远程分支名是可以省略的

拉取远程仓库

如果远程仓库的更新版本程度比本地的更新版本程度要新,那么就需要用到pull指令,用处是拉取远程仓库到本地仓库

git pull [远程主机名] [本地分支名]:[远程分支名]

如果本地分支名和远程分支名相同,那么冒号和远程分支名是可以省略的

配置Git

在日常使用中,在程序经过编译等多项结果后,会产生一系列附属的临时文件或动静态库等等,那么如何保证这些文件不被提交?

因此就引入了一个工具叫做.gitignore

具体的用法是,在文件中可以写入一些东西:

* .so
* .ddl

上面的规则写法就代表着,如果要推送的内容中含有.so.ddl的文件,就把这些文件忽略掉不予理睬,只进行其他文件的推送

那如果有一个场景确实需要推送一个叫做a.so的文件?

可以在.gitignore中添加:

! a.so

用感叹号的这种写法就表示,对于有这样名称的文件就进行提交,这样就可以进行提交了

# 常用的.gitignore
# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
[Bb]in/
# Other files and folders
.settings/
# Executables
*.swf
*.air
*.ipa
*.apk
#过滤掉不想要文件和文件夹
*.exe
*.sln
*.vcxproj
*.filters
*.user
*.suo
*.db
*.ipch
Debug/
.vs
Release/

标签管理

如何理解标签?标签的意义是什么?

标签可以理解为,是对于某次commit后的一个标识,相当于起了一个别名,例如,在项目中发布一些版本的时候,可以对于最后一次的commit进行命名,作为一个特殊意义

其实标签的意义远不止于此,相比起晦涩难懂的commit id,标签就可以很好的解决这个问题,一般来说自定义的标签都是有意义的,可以帮助人进行记忆的名字,因此使用标签在帮助我们回退某个版本的时候有很大的帮助

创建标签

git tag [name]

通过上述的命令就可以实现打标签的一个效果

git tag

这个命令可以用来查看所有的标签

对于默认的标签是打在最后提交的commit上的,但是对于指定的commit版本也有对应的使用方法,那就是找到那次commit id,再打到那个id就可以了

git tag v0.9 [commit id]

查看标签的信息

git show [tagname]

除此之外,Git 还提供可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

git tag -a [name] -m "XXX" [commit_id]

那么下面进行关于Git的一些实战操作,借助这些实战操作来更好的理解Git在多人开发中的用途

相关文章
|
14天前
|
Linux 网络安全 开发工具
Git拉取代码的完整示例操作
Git拉取代码的完整示例操作
23 0
|
15天前
|
开发工具 git
深入探索Git的高级技巧与神奇操作(分支,高效合并)
深入探索Git的高级技巧与神奇操作(分支,高效合并)
39 0
|
27天前
|
存储 网络安全 数据处理
git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理
git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理
|
27天前
|
开发工具 git
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(二)
|
27天前
|
算法 安全 Linux
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(一)
GIT | 基础操作 | 初始化 | 添加文件 | 修改文件 | 版本回退 | 撤销修改 | 删除文件(一)
|
30天前
|
缓存 开发工具 git
推荐收藏 | 【Git实战专题】「必坑宝典」带你深入剖析Git操作指令下的奥秘原理和运作机制
Git是一个分布式版本控制系统,它可以跟踪文件的修改、记录历史版本,并支持多人协作开发。
26 2
推荐收藏 | 【Git实战专题】「必坑宝典」带你深入剖析Git操作指令下的奥秘原理和运作机制
|
1月前
|
开发工具 git 开发者
Git管理分支都有哪些,不同分支作用是什么?
在Git中,有多种类型的分支,每种分支都有不同的作用。以下是一些常见的Git分支以及它们的作用:
14 0
|
1月前
|
Shell 开发工具 git
git相关操作
git相关操作
|
1月前
|
关系型数据库 MySQL 开发工具
Git:分布式版本控制系统的崛起与演变
Git:分布式版本控制系统的崛起与演变
18 0
|
2月前
|
编译器 定位技术 开发工具
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法
分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法