当前位置: 首页 > news >正文

【Git】5. 配置 Git

配置.gitignore – 忽略特殊⽂件

在⽇常开发中,我们有些⽂件不想或者不应该提交到远端,⽐如保存了数据库密码的配置⽂件,那怎么让 Git 知道呢?
在 Git ⼯作区的根⽬录下创建⼀个特殊的 .gitignore ⽂件,然后把要忽略的⽂件名填进去,Git 就会⾃动忽略这些⽂件了。
不需要从头写 .gitignore ⽂件,gitee 在创建仓库时就可以为我们⽣成,不过需要我们主动勾选⼀下:
在这里插入图片描述
如果当时没有选择这个选择,在⼯作区创建⼀个也是可以的。
⽆论哪种⽅式,最终都可以得到⼀个完整的 .gitignore ⽂件,例如我们想忽略以 .so 和 .ini 结尾所有⽂件, .gitignore 的内容如下:

# 省略选择模本的内容
...
# My configurations:
*.ini
*.so

在 .gitignore ⽂件中也可以指定某个确定的⽂件。
最后⼀步就是把 .gitignore 也提交到远端,就完成了:

hyb@139-159-150-152:~/git_teaching$ vim .gitignore
hyb@139-159-150-152:~/git_teaching$ git add .
hyb@139-159-150-152:~/git_teaching$ git commit -m "add .gitignore"
[master 97811ab] add .gitignore1 file changed, 3 insertions(+)create mode 100644 .gitignore
hyb@139-159-150-152:~/git_teaching$ git push origin master 
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 362 bytes | 362.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.4]
To gitee.com:hyb91/git_teaching.git60e6b0a..97811ab master -> master

接着我们就来验证⼀下.gitignore⽂件的能⼒,在⼯作区新增两个⽂件 a.so b.ini :

hyb@139-159-150-152:~/git_teaching$ touch a.so b.ini
hyb@139-159-150-152:~/git_teaching$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean

检验 .gitignore 的标准就是 git status 命令是不是说 working tree clean 。
我们发现Git 并没有提⽰在⼯作区中有⽂件新增,果然 .gitignore ⽣效了!
但有些时候,你就是想添加⼀个⽂件到 Git,但由于这个⽂件被 .gitignore 忽略了,根本添加不了,那么可以⽤ -f 强制添加:

强制添加文件 – git add -f [filename]

$ git add -f [filename]

或者你发现,可能是 .gitignore 写得有问题,需要找出来到底哪个规则写错了,⽐如说 a.so ⽂件是要被添加的,

查看文件为何ignore – git check-ignore

可以⽤ git check-ignore 命令检查:

hyb@139-159-150-152:~/git_teaching$ git check-ignore -v a.so
.gitignore:3:*.so a.so

Git 会告诉我们, .gitignore 的第3⾏规则忽略了该⽂件,于是我们就可以知道应该修订哪个规则。
还有些时候,当我们编写了规则排除了部分⽂件时,例如:

# 排除所有.开头的隐藏⽂件:
.*

但是我们发现 .* 这个规则把 .gitignore 也排除了。虽然可以⽤ git add -f 强制添加进去,
但如果你还是希望不要破坏 .gitignore 规则,这个时候,可以添加⼀条例外规则:

# 排除所有.开头的隐藏⽂件:
.*
# 不排除.gitignore
!.gitignore

把指定⽂件排除在 .gitignore 规则外的写法就是 ! +⽂件名,所以,只需把例外⽂件添加进去即可。

给命令配置别名

在我们使⽤ Git 期间,有些命令敲的时候着实让⼈头疼(太⻓了。。),幸运的是,git⽀持对命令进⾏简化!
举个例⼦,将 git status 简化为 git st ,对应的命令为:

简化命令 – git config alias.XX XXX

1 $ git config --global alias.st status

–global 参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有⽤。如果不加,那只针对当前的仓库起作⽤。
好了,现在敲 git st 看看效果:

hyb@139-159-150-152:~/git_teaching$ git st
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean

再来配置⼀个 git last ,让其显⽰最后⼀次提交信息:

git config --global alias.last 'log -1'

显示最近一次提交 – git last

这样,⽤ git last 就能显⽰最近⼀次的提交:

hyb@139-159-150-152:~/git_teaching$ git last
commit 97811abd1d43774aeb54fee32bf4fc76b2b08170 (HEAD -> master, origin/master, 
Author: hyb91 <2689241679@qq.com>
Date: Fri May 12 17:27:06 2023 +0800add .gitignore

不过,我个⼈还是不推荐⼤家现在去使⽤简化命令的操作。
等⼯作久了,再去简化⾃⼰的⼯作吧,⽬前所有的命令都要⼿动完成,尽快适应 Git。多敲敲命令能加深理解

http://www.lryc.cn/news/417775.html

相关文章:

  • C语言:文件处理
  • SpringBoot MybatisPlus selectOne的坑
  • Spring源码-ClassPathXmlApplicationContext的refresh()都做了什么?
  • 网站加密和混淆技术简介
  • Kafka + Kraft 集群搭建教程,附详细配置及自动化安装脚本
  • “Apple Intelligence”的“系统提示词”被曝光了
  • django学习-数据表操作
  • 机器学习-决策树
  • opencascade TopoDS_Shape源码学习【重中之重】
  • Self-study Python Fish-C Note15 P52to53
  • Java小白入门到实战应用教程-异常处理
  • 使用Anaconda安装多个版本的Python并与Pycharm进行对接
  • android系统中data下的xml乱码无法查看问题剖析及解决方法
  • ​MySQL——索引(三)创建索引(2)使用 CREATE INDEX 语句在已经存在的表上创建索引
  • html+css 实现hover选择按钮
  • Python数据可视化利器:Matplotlib详解
  • 2024 NVIDIA开发者社区夏令营环境配置指南(Win Mac)
  • 介绍rabbitMQ
  • AI在医学领域:使用眼底图像和基线屈光数据来定量预测近视
  • VB.NET中如何利用WPF(Windows Presentation Foundation)进行图形界面开发
  • Go语言标准库中的双向链表的基本用法
  • 手机游戏录屏软件哪个好,3款软件搞定游戏录屏
  • 【力扣】4.寻找两个正序数组的中位数
  • 【C++】初识面向对象:类与对象详解
  • 知识图谱学习总结
  • 2021-10-23 51单片机LED1-8按秒递增闪烁
  • 在Linux中宏观的看待线程
  • 提示libfakeroot.so或libfakeroot-sysv.so出错处理方法
  • 【计算机网络】什么是socket编程?以及相关接口详解
  • LeetCode.19.删除链表的倒数第n个节点