git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理

简介: git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理

前言:

大家如果没有看过前几章git的基础操作的话,推荐先看一下,看完再来看这个远程操作,这样会对git有一个深的理解~~

接下来我们对本章的正题:

Git是一款分布式版本控制系统,它允许团队协同开发并追踪代码变更。远程操作是Git中的一个重要概念,它使得开发者能够在不同计算机之间共享和同步代码。这里也不多介绍,可以到百度上面自行寻找~~

本教程使用的是码云(gitee.com)来演示

新建远程仓库克隆

  • 首先就是要先注册一个自己的账号
  • 然后新建仓库

  • 这里有两种方法来clone仓库到本地,一个是https一个是ssh
  • 我们不使用https,原因是https比较简单
  • 首先就是配置用户名和邮箱然后(这里配置命令在初始git操作就讲述了)然后直接使用这个命令git clone 复制的仓库链接
  • 接下来我们就使用这个ssh来配置一下
  • 使用ssh方式克隆仓库,由于我们没有添加公钥到远端库中,所以会克隆失败,这里就不演示了,接下来我们就开始配置一下如何将公钥添加
  • 首先打开设置->ssh公钥->公钥
  • 那么这里的公钥在哪里获取呢,当然是在自己的电脑或者远端服务器上获取~~

  • 我这里就在自己电脑上演示了,远端服务器获取也是一样的~~
  • 输入一下命令,注意: 这里改成自己的邮箱~~
ssh-keygen -t ed25519 -C "shilinnull@163.com"

  • 然后会在上图的地址会显示地址,找到这个文件夹就可以了,其中第二个带有.pub的后缀是公钥,我们用记事本打开复制里面的内容

  • 然后粘贴到刚刚的那个网站的公钥栏里就可以了,标题随便写就可

  • 最后再使用ssh的方式克隆

  • OK,可以看到已经成功了~~

推送【push】

  • 我们对仓库里的文件进行修改

  • 然后进行添加

  • 最后一个关键的步骤,就是push
git push origin master

  • 然查看远端仓库,可以看到已经被修改了

拉取【pull】

  • 我们首先对远端仓库直接进行了修改

  • 而我们这次又对本地又进行了修改,然后再添加

  • 最后进行提交操作,发现是无法提交的,会有冲突

  • 这个时候就需要我们首先对远端仓库进行拉取
git pull origin master

  • 这里又回到冲突那里了,然后我们需要进行手动修改一下然后再进行提交

  • 然后再进行添加提交操作

  • 可以看到也已经是有了~~

配置git

忽略特殊文件

  • 在日常开发中,我们有些文件不想提交到远程仓库,那么怎么做呢?
  • 这个时候我们就需要在自己仓库的根目录下建立一个特殊的文件.gitignore,把需要忽略的文件名填进去,git提交的时候就会自动忽略这些文件了~~
  • 我们来演示一下
  • 这里的*代表是通配符,也就是将后缀.txt的文件都忽略

  • 我们查看一下git的状态,可以看到是没有文本.txt
  • 再次添加后提交

  • 来到我们的远程仓库查验证一下

  • 但有些时候,你就是想添加⼀个文件到 Git,但由于这个文件被 .gitignore 忽略了,根本添加不了,那么可以⽤ -f 强制添加:
git add -f [filename]
  • 或者你发现,可能是 .gitignore 写得有问题,需要找出来到底哪个规则写错了,比如说 a.so 文件
    是要被添加的,可以用 git check-ignore 命令检查:
git check-ignore -v file.txt
  • Git 会告诉我们, .gitignore 的第几行规则忽略了该⽂件,于是我们就可以知道应该修订哪个规则。

还有些时候,当我们编写了规则排除了部分文件时,例如:

# 排除所有.开头的隐藏⽂件:
.*
  • 但是我们发现 .* 这个规则把 .gitignore 也排除了。虽然可以⽤ git add -f 强制添加进去,但有强迫症的同学还是希望不要破坏 .gitignore 规则,这个时候,可以添加⼀条例外规则:
# 排除所有.开头的隐藏⽂件:
.*
# 不排除.gitignore
!.gitignore
  • 把指定文件排除在 .gitignore 规则外的写法就是 ! +文件名,所以,只需把例外文件添加进去即可

给命令配置别名

  • 在使用git的时候,我们有的时候使用命令太长太麻烦了,我们可以将git命令进行重命名成一个简短的,我们这样操作:
  • 比如我们将git status简写成git st
  • 这里的alias.改成自己想要改成的名字
git config --global alias.st status
  • --global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有⽤。如果不加,那只针对当前的仓库起作用
  • 这样就可以进行重命名成功了,原来的名字也是可以用的~~

标签管理

理解标签

  • 这个标签,我们可以简单理解是对某一次的commit的一个标识,也就是相当于起了一个别名
  • 对于难以记住的commit id,tag就可以很好的解决这个问题,标签就可以定位到某一个重要的版本,使用标签就可以快速定位到那个版本,这样就很方便快捷

创建标签

  • 首先查看一下在哪个分支上,如果需要打标签到哪个分支上就要切换到哪个分支上
git branch

  • 然后就可以打标签了 tag后面跟上标签名字就可以
git tag v1.0
  • 打完标签肯定是要查看一下
git tag

  • 这个标签是没有指定打到哪个commit id上的,所以就是默认,默认就是打在最新提交的commmit上的
  • 那么我们要在指定commit id上打标签,我们可以在后面跟上commit id
git tag v0.9 741df88

注意: 这里的标签可不算按照时间列出的,是按照字母进行排序的

  • 我们还可以查看标签信息:show后面跟上标签名字,就可以查看具体信息了
git show v1.0

  • 我们这里还可以指定带有说明的标签,-a指定别名,-m指定说明文字
git tag -a [name] -m "XXX" [commit_id]

操作标签

  • 如果标签打错了,我们还可以删除 -d后面跟上标签名字
git -d v0.8

  • 因为创建的标签都只存储在本地,不会⾃动推送到远程。所以,打错的标签可以在本地安全删除
  • 如果要推送某个标签到远程,可以使用命令
git push origin <tagname>

  • 我们查看远程仓库,可以看到已经推送成功了

  • 如果本地仓库有很多标签,可以一次性全部推送到远端
git push oringe --tags

  • 也是相当的完美已经推送上去了

  • 如果要进行删除标签,就要先从本地仓库里删除,然后再推送一次,进行更新
  • 冒号后面跟上标签的名字即可~~
git push origin :v0.9

  • 我们再次来远端仓库
  • 已经完美删除了~~

相关文章
|
6天前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
20 2
|
12天前
|
算法 网络安全 开发工具
[Git]关联远程库的两种方法及配置
本文介绍了 git 的四种连接方式:ssh 连接、HTTPS 连接、SVN 连接和 SVN + ssh 连接,重点讲解了 HTTPS 和 ssh 连接方式的配置及注意事项。文章详细解释了 HTTPS 连接的身份验证过程、常见问题及解决方案,以及 ssh 连接的公钥和私钥的创建、配置方法。此外,还介绍了如何在同一台电脑上连接多个 gitee 账号的方法。
43 0
[Git]关联远程库的两种方法及配置
|
1月前
|
Shell 开发工具 git
git学习三:git使用:删除仓库,删除仓库内文件
通过GitHub的设置页面删除仓库,以及如何使用Git命令行删除仓库中的文件或文件夹。
135 1
git学习三:git使用:删除仓库,删除仓库内文件
|
1月前
|
开发工具 git 索引
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
git上面中新建gitignore文件,并且去除已经在仓库版本管理中的文件夹
58 4
|
1月前
|
开发工具 git
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
git显示开发日志+WinSW——将.exe文件注册为服务的一个工具+图床PicGo+kubeconfig 多个集群配置 如何切换
37 1
|
1月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
51 0
|
开发工具 git
git:一些撤销操作
git:一些撤销操作
89 0
|
开发工具 git
git 在提交之前撤销add操作
问题 在使用git时,在未添加.ignore文件前使用 git add . 将所有文件添加到库中,不小心将一些不需要加入版本库的文件加到了版本库中。由于此时还没有提交所以不存在HEAD版本,不能使用 git reset HEAD命令。
1204 0
|
开发工具 git
Git 系列教程(7)- 撤销操作
Git 系列教程(7)- 撤销操作
367 0