文章目录
前言
在这之前,所有已经学习的内容(工作区,暂存区,版本库等)均是在本地进行的。而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,如果文章文章有用,那就点个赞吧!!!
3678

被折叠的 条评论
为什么被折叠?



