《Git 日常操作:核心命令 + 忽略文件 + 临时存储》

在上一篇搭好 Git 环境后,日常写代码时的操作才是高频需求:写好的代码怎么 "存" 到 Git 里?项目里的日志、缓存文件怎么让 Git 自动忽略?写到一半的功能突然要切分支改 Bug,代码怎么临时存起来?这篇就把 "add/commit/log" 这些核心命令、.gitignore 配置、git stash 临时存储这些日常操作讲透,覆盖你 80% 的本地开发场景。

4、Git 命令

git init

将目录变成git可以管理的仓库

bash 复制代码
// 在目标目录下打开 git bash
git init

git add / git commit

Git工作目录下对于文件的修改(增加,删除,更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

git add (工作区 --> 暂存区)

添加工作区一个或多个文件的修改到暂存区

git add 单个文件名|通配符

git commit (暂存区 --> 本地仓库)

提交暂存区内容到本地仓库的当前分支

git commit -m "注释内容"

bash 复制代码
// . 表示是全部文件,也可以指定文件名
git add .

// -m 表示添加描述信息
git commit -m "update file01.txt"

git status

用于查看修改的状态(暂存区,工作区)

bash 复制代码
git status

git log

用于展示日志内容

git reset

版本切换

命令形式:git reset --hard commitID

commitID可以使用git-log或git log 指定查看

如何查看已经删除的记录?

git reflog 这个指令可以看到已经删除的提交记录

这里对commitID的复制粘贴是(选中commitID然后到--hard后面点击鼠标滚轮)

5、.gitignore 文件

注意:在项目开始就要创建.gitignore文件
在使用git的过程中,有些文件无需纳入git的管理,也不希望他们总出现在未跟踪文件列表,这些文件通常是日志文件、临时文件、编译产生的中间文件、工具自动生成的文件等等。
我们可以创建一个名为.gitignore的文件,列出要忽略的文件模式,Git会根据这些模式规则;来判断是否将文件添加到版本控制中。
注意:在windows下可以创建文件名为.gitignore.,保存后系统会自动重命名为.gitignore
格式规范:

  • 所有空行或者以注释符号#开头的行都会被Git忽略
  • 可以使用标准的glob模式匹配
  • glob模式
    所谓的glob模式是指所使用的简化了的正则表达式:
    "*" :星号匹配零个或多个任意字符

\] :匹配任何一个列在方框中的字符,如\[ab\]匹配a或者匹配b "?":问号匹配一个任意字符 \[n-m\]:匹配所有在这两个字符范围内的字符,如\[0-9\]表示匹配所有0到9的数字 ```bash # 忽略当前路径下的logs目录,包含logs下的所有子目录和文件 logs/ # 忽略根目录下的logs.txt文件 /logs.txt # 忽略所有后缀为.class的文件 *.class # 不忽略classes目录下的a.class文件 !classes/a.class # 只忽略tmp目录下的.txt文件 tmp/*.txt # 可以忽略/foo,a/foo,a/b/foo等 **/foo ``` * 匹配模式最后跟(/)说明要忽略的是目录 * 要忽略指定模式以外的文件或目录,可以在模式前加上感叹号(!)进行取反 ### **java开发通用模版** ```bash #java *.class #package file *.war *.ear *.zip *.tar.gz *.rar #maven ignore target/ build/ #eclipse ignore .settings/ .project .classpatch #Intellij idea .idea/ /idea/ *ipr *.iml *.iws # temp file *.log *.cache *.diff *.patch *.tmp #system ignore .DS_Store Thumbs.db ``` ### **diff命令(用于查看修改变化)** ![](https://i-blog.csdnimg.cn/direct/211ad972c4484b0f96b9d1b71dc7fdfe.png) ![](https://i-blog.csdnimg.cn/direct/326c6e67923b41eeaf55674c5532fd31.png) ![](https://i-blog.csdnimg.cn/direct/ca90ad4a92864012a6a1e3a119523790.png) ### 6、Git stash 作用是将目前还不想提交的但是已经修改的内容进行保存至堆栈中,后续可以在某个分支上回复出堆栈中的内容。也就是说,stash中的内容不仅可以恢复到原先开发的分支,也可以恢复到其他任意指定的分支上。git stash作用的范围包括工作区和暂存区中的内容,也就是说没有提交的内容都会保存在堆栈中。 git stash \[-u/-a/-all

  • 默认情况下,git stash 会保存已跟踪文件的修改
  • 若要同时保存未跟踪文件(未通过 git add 加入版本控制的新文件,需要使用 -u)来保存
  • 若要保存忽略文件(如.gitignore中指定的文件),可以使用 -a 或 -all 参数,它会保存所有未提交的修改(包括跟踪,未跟踪,忽略的文件)
    总结:执行git stash后,工作区和暂存区会恢复到最近一次提交(HEAD)的状态,后续可通过
    git stash pop 或者 git stash apply 恢复保存的内容。

pop和apply的区别

1,git stash apply

  • 仅将 stash 中的修改应用到当前工作区,不会删除该 stash 记录
  • 适用场景:需要在多个分支重复应用同一份 stash 时(例如同一修改需在多个分支测试),可以多次使用 apply。
  • 示例:git stash apply stash@{0}(指定应用第 0 个 stash,不指定则默认最新的)。

2,git stash pop

  • 将 stash 中的修改应用到当前工作区后,会自动删除该 stash 记录
  • 适用场景:确认只需要应用一次 stash,且之后不再需要该记录时,用 pop 更简洁。
  • 示例:git stash pop(默认应用最新的 stash 并删除它)。

展示所有现存的stash记录

bash 复制代码
git stash list

注意:取出一个文件后需要提交后才能取出第二个,不然会报错。
现在你已经能搞定本地开发的大部分 Git 操作了:从add/commit存代码,到用.gitignore过滤垃圾文件,再用stash临时存起未完成的功能。但 Git 的'灵魂优势'其实是分支 ------ 怎么同时开发多个功能不冲突?线上 Bug 怎么快速修复?下一篇《Git 分支实战:管理技巧 + 主流策略》咱们把分支玩明白!

相关推荐
编程小Y6 小时前
git命令行和GUI工具有什么区别
git
还下着雨ZG10 小时前
Git:版本控制工具Git的详细介绍
git
老友記10 小时前
git 预发布版本release分支
git
naruto22711 小时前
git回退代码
git·hard·soft·mixed
硅农深芯11 小时前
是时候跟GitBucket说再见了
git·单片机
取名真是11 小时前
git仓库理解
git
LSL666_14 小时前
2 Git的特点
git
怣疯knight15 小时前
unity上传git需要上传哪些文件
git·unity
颜子鱼16 小时前
git基础
大数据·git·elasticsearch