从零开始的Git学习之旅-远程操作


前言

在这之前,所有已经学习的内容(工作区,暂存区,版本库等)均是在本地进行的。而Git是一个分布式版本控制系统,其最终一定要关联到远程仓库。

一、创建远程仓库

新建远程项目仓库:
在这里插入图片描述
填写基本信息:
在这里插入图片描述

1.1 Readme文件

Readme文件主要用于对仓库的说明。
在这里插入图片描述

1.2 Issue模板文件

在实际开发过程中,一个项目可能就是一个仓库。一个项目总会有着不同职责的人共同对该项目进行维护。因此,Git仓库中也是分角色的。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Issue: 让发现问题的人和仓库的其他人员进行交流的地方. 尤其是开源仓库,参与者可能都互不认识,如果有谁出现问题,该如何联系呢?

=>通过issue来对问题进行描述,开发者判断是否进行修改.

在这里插入图片描述

1.3 Pull Request模板文件

在这里插入图片描述
在实际开发中,新功能完成时往往需要进行分支合并,但如果master分支上的代码正在跑,直接进行合并是可能导致项目出错的。因此,该文件主要是用来提交合并申请的,只有管理员同意,才能进行合并。

二、远程仓库的常见操作

2.1 克隆远程仓库

主要有两种方式: https / ssh ,https最为简单.以下以https为例.
在自己的仓库下,点击克隆/下载
在这里插入图片描述

在这里插入图片描述
使用 git clone URL 即可完成克隆(其他方式会额外进行信息配置).

2.2 推送到远程仓库

远端仓库克隆到本地后 => 成为本地仓库
推送是分支与分支间的推送(不是将本地仓库的内容全push).
在这里插入图片描述

远程仓库名一般为 origin.推送前,需要检查本地仓库的 name和email是否与gitee上的一致. name为 @后面的内容,email为注册时的邮箱.如果为配置或者配置不一致,会报错.

git push <远程主机名> <本地分支名>:<远程分支名>

#如果要推送的本地分支名和远程分支名相同,则可以省略远程分支名
git push <远程主机名> <本地分支名>

一般:
git push origin master:master
git push origin master   #学习阶段最经常使用,工作后很少这么用

2.3 拉取远程仓库

实际开发中的可能场景: 不同的开发者分别克隆了远程仓库,开发者2对代码进行了修改,并push到远程仓库,此时远程仓库的版本就领先于开发者1的版本
=>此时就需要更新开发者1的本地仓库=>pull操作
=>直接在远程仓库修改也是领先版本,但及其不推荐直接在远程仓库进行修改
在这里插入图片描述

git pull <远程主机名> <远程分支名>:<本地分支名>

# 如果pull的远程分支名和本地分支名一样,那么可以省略本地分支名
git pull <远程主机名> <远程分支名>

一般:
git pull origin master

pull的原理: 远程的版本拉取下来+与本地的版本进行分支合并.

2.4 忽略特殊文件

在这里插入图片描述
在创建仓库时,会出现如下选项. .gitignore是什么呢?

在日常开发中,不会每次将指定的文件放入仓库中,往往是一个目录,要不然也太耗时间了.但是这样会导致很多不想要的文件. 对于这些不想或者不该提交到远端的文件,如何让git知道?

gitignore文件 : 将需要忽视的文件名填入,git就自动忽视这些文件了,也不会对这些文件进行追踪管理.

# .gitignore文件

#省略某一类或具体的文件

*.sln   # *.文件类型 =》 忽略某一类文件(类为文件类型)

test.txt  #忽视具体的文件

!t.sln  # !具体文件 =》 忽略这一类文件,但不不略该文件 =》 特例

如图,假设想忽视 .sln , .so , .ini .test.txt文件 , 不想忽视 b.so文件.
在这里插入图片描述
分别新建测试文件: a.so , b.so , test.txt
在这里插入图片描述
可以看到,工作区变化的只有 b.so与.gitignore文件 ,a.so 与test.txt文件均被忽视了.
=>在.gitignore中的文件是不会被 git追踪管理的,也就不会显示更改.
=>不被追踪管理,以为这 在本地仓库中会忽视该文件.

有些时候,可能想添加一个文件到git,但此时被.gitignore给忽视了,无法添加,那么可以用 -f进行强制添加.

#强制添加被忽视的某个文件
git add -f [filename]

在这里插入图片描述
本应该被忽视的文件,强制添加到了暂存区.

2.5 为命令配置别名

在使用git时,有些命令经常使用,但这些命令可能太长了,不太好记,有好的方法使用它们吗?
=>git 支持对命令进行简化.

# 将 git status 简化为 git st
git config --global alias.st status

# --global是全局参数,即在该主机下的所有仓库均采用,
# 不加则只在当前仓库中有用,alias是起别名

在这里插入图片描述
即便如此,在个人使用中不推荐这么用,当非常熟悉后,再去工作中使用吧.

2.6 删除文件

有时候会发现提交到远程的文件有误,此时该如何进行删除呢?
其实这在前文已经讲过了,直接在本地删除,之后提交到远程即可`。

2.7 Git提交的完整流程

这里只演示了一般的提交流程,该流程是在学习阶段的流程,需求更高时,结合前面的文章即可。

# 1.在本地仓库打开 Git Bush
# 2.提交到暂存区
git add ./file_name
# 3.提交到版本库
git commit -m "xxxx"
# 4.推送到远程
git push origin master

三、标签管理

标签,即tag. 简单来说就是用于标识某个 commit id,或者说起别名.
commid id有时非常的长且每次还要去众多id中去找.因此,tag能很好的解决这个问题. Tag的名字最好是让人容易记住且有意义的名字,不如: v1.0 v2.0等。

3.1 创建标签

#首先,切换到需要打标签的分支上

# 1. 创建标签
git tag [tag_name]

# 2. 查看标签
git tag  =>这种方式查看不会显示说明信息.

在这里插入图片描述
值得注意的是,标签默认是打在最新commit上的.如果要在指定commit_id上打标签,则需要先获得该commit_id

git tag [tag_name] commit_id

# git提供创建带有说明的标签,用 -a指定标签名,-m指定说明文字,
# 格式为:
    
 git tag -a [tagname] -m "xxx" [commit_id]

在这里插入图片描述

3.2 标签操作

如果标签打错了,可以删除标签.

# 删除标签
git tag -d [tag_name]

# 标签推送到远程
git push orign [tag_name]

#如果标签过多,可以直接一次性推送
git push origin --tags

创建的标签只存储在本地,不会推送到远程.
=>打错的标签可以在本地进行安全的删除.
在这里插入图片描述
在这里插入图片描述

可能在某个时候会删除远程标签:

# 1、本地删除
git tag -d [tag_name]

# 2、远程删除
git push origin :refs/tags/tag_name

总结

以上就是远程仓库的基本内容,结合前面所学,已经可以正常的使用Git,如果文章文章有用,那就点个赞吧!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值