参考: https://compiledsuccessfully.dev/git-skip-worktree/ https://stackoverflow.com/questions/9794931/keep-file-in-a-git-repo-but-dont-track-changes 在处理私人的config文件的时候,经常会遇到标题中的问题 保留初始版本是为了给一个模板,但是应用的时候却要换成自己的config gitignore并不能很好的解决,如果先track了一个文件,之后才ig…
工作中我们有时候想要查看某一个文件的历史提交版本,] 还想看都修改过那些内容,那么这两个简单的命令就会帮到你了, 话不多说,comeBaby...... 1,首先查看一个文件的历史提交信息 git log 文件名  2.查看某个版本文件修改情况 git show 版本号  文件名…
git blame filename:显示整个文件的每一行的详细修改信息:包括SHA串,日期和作者. 其显示格式为: commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码 当确定commit ID后,如果想要知道某次提交还改了什么:git show commitID…
*.c !frob_*.c !custom.c 或者:*!*/ # 这个的意思是不忽略目录.否则目录被忽略了之后,它里面的所有文件都忽略了!*.c!*.cc!*.cpp!*.cxx 也就是先忽略所有文件,然后让某些文件不忽略…
1.检查当前文件状态 --  git status  git diff  git diff --staged   git status :我们可以使用 git status 来查看文件所处的状态.当运行 git status 之后,出现类似下面输出: $ git status On branch master nothing to commit, working directory clean 说明,现在的工作目录非常干净,换句话说,所有的已跟踪文件在上次提交之后都未被修改过.  如果你想要知道…
当用 Windows Explorer 复制或移动文件和文件夹时,文件或文件夹上设置的权限可能会发生改变.例如,当在一个 NTFS文件系统卷内或在两个 NTFS 卷之间复制一个文件时,Windows将把它当作一个新文件.作为一个新文件,它将具有目标文件夹的权限,当前用户将成为“创建者所有者”. 可以使用带 /O/X/E/H/K 参数的 Xcopy 命令复制文件并保留已应用到这些文件的现有权限. 其中: /E - 复制文件夹和子文件夹,包括空文件夹. /H - 还复制隐藏文件和系统文件. /K -…
在项目中我们有一些文件是不能公开的,或者说是每个人需要单独配置的,那么这个时候使用 git 就不能上传这些文件.此时就需要对 .gitignore 文件进行配置. git 的忽略原则:参考 廖雪峰的git忽略特殊文件 忽略操作系统自动生成的文件,比如缩略图等: 忽略编译生成的中间文件.可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件: 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件: 一些忽略规则的…
打开安装好的git bash,设置你的git信息  (这个随便写就行) 初始化一个Git仓库,分三步.(创建文件夹也可以手动创建,也可以命令行创建) 第一步,进到一个目录  cd e: 第二步,创建一个文件夹 mkdir learngit 第三步,对该文件夹进行git的创建  cd learngit/ git init 添加文件到Git仓库,分两步:(在这个文件夹创建一个文件,里面写点内容,用编辑器创建,文件保存成一个格式utf-8,就是你平常开发代码的过程,不要用记事本!) 第一步,使用命令g…
如果有如下的目录结构: workspace tree | --------------------- |                             | hello.c                           d hello.o                           | .gitignore                     say.c say.o .gitignore 在workspace tree的跟目录下有3个文件hello.c,hello.o,…
1.配置语法: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效: 2.示例: (1)规则:fd1/*  说明:忽略目录 fd1 下的全部内容:注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽…