赞
踩
git
同样支持Glob
模式,Glob
模式为Shell
中简化的正则表达式。
*
)匹配零个或多个任意字符;[abc]
匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);?
)只匹配一个任意字符;**
)表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。.gitignore
文件生效步骤如下:
git status --ignored
// 查看状态,验证是否已包括忽略的文件git rm -r --cached .
// 清除缓存,-r表示递归删除git status --ignored
// 查看具体效果git add .
// 重新trace filegit commit -m "update .gitignore"
// 提交和注释
使用git status
只能查看每个文件的修改状态,但是无法看到每个文件的内容有哪些被修改,所以可以使用git diff
查看所有追踪文件的修改对比。
需要注意的是,git diff
是查看未暂存的文件中被修改的内容,当将该文件添加入暂存区后,就无法再通过git diff
查看修改内容,需要使用git diff --cached
。
当需要重命名文件时,可以使用git mv [oldFileName] [new FileName]
。Git
对于重命名操作会分为三步进行,第一步首先重命名文件,然后再从仓库中删除原有的文件,最后将新文件添加进暂存区等待提交。
$ mv README.md LOOKME.md
$ git rm README.md
$ git add LOOKME.md
若通过软件进行批量修改文件时,也要按照该流程先删除原文件再添加新文件。
当由于一些操作失误提交或修改了文件内容时,可以通过Git
回滚操作,回滚到修改之前的状态。
回忆下前面提到的文件状态,文件状态通常可以分为:
untracked
状态;modified
状态;staged
状态;committed
状态;unmodified
状态;使用git restore --staged [fileName]
或git reset HEAD [fileName]
可以将暂存区文件恢复。
说明:
git restore
命令是Git 2.23
版本之后新加的,用来分担git checkout
命令的功能,通过用暂存区或者版本库中的文件覆盖本地文件的修改,以达到回退修改的目的,同时也可以使用版本库中的文件覆盖暂存区的文件,达到回退git add
命令的目的。!!注意,这个操作不会影响分支记录,就是相当于之前的
git checkout
命令重新检出一份文件来覆盖本地的修改。
git reset
其实就是用来设置分支的头部指向,当进行了一系列
真题解析、进阶学习笔记、最新讲解视频、实战项目源码、学习路线大纲
详情关注公中号【编程进阶路】
的提交之后,忽然发现最近的几次提交有问题,想从提交记录中删除,这是就会用到 git reset
命令,这个命令后面跟 commit id
,表示当前分支回退到某个 commit id
对应的状态,之后的日志记录被删除,工作区中的文件状态根据参数的不同会恢复到不同的状态。
--soft
: 被回退的那些版本的修改会被放在暂存区,可以再次提交。--mixed
: 默认选项,被回退的那些版本的修改会放在工作目录,可以先加到暂存区,然后再提交。--hard
: 被回退的那些版本的修改会直接舍弃,就像它们没有来过一样。使用 git rest HEAD file_name
命令就可以将一个文件回退到 HEAD
指向版本所对应的状态,其实就是当前版本库中的状态,也就相当于还原了本地的修改。
对于工作区中未加到暂存区和版本库的文件,执行了 git add
操作之后可通过如下方法还原:
git rm --cached newfile
git restore --staged newfile
git reset HEAD newfile
注:使用后两个命令的时候不能是版本库的第一个文件。
使用git checkout -- [fileName]
可以将该文件回滚到上一次提交的状态。
!注:记得git checkout -- <file>
是一个危险的命令。 你对那个文件在本地的任何修改都会消失。Git
会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。
声明:由于没有添加到暂存区的文件无法被追踪,所以它的任何修改是没有办法回退!只能通过本地文件撤销操作进行。
如果想要查看某个项目中所有提交信息,可以使用git log
打印所有参与者的提交记录。
每条记录都会显示提交的SHA-1
校验,作者名字和作者邮箱以及提交时间并按提交时间倒序排列。
除了简单的git log
外,还可以添加参数用于筛选和格式化输出信息:
-p --patch
:它会显示每次提交所引入的差异。 也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交。--stat
:在每次提交的下面列出所有被修改过的文件、有多少文件被修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结。--pretty
:这个选项有一些内建的子选项供你使用。 比如 oneline
会将每个提交放在一行显示,在浏览大量的提交时非常有用。 另外还有 short
,full
和 fuller
选项,它们展示信息的格式基本一致,但是详尽程度不一;formart
可以自定义打印的格式,常用格式信息如下:$ git log --pretty=oneline
](https://img-blog.csdnimg.cn/2021072010113599.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bmh1YXFpYW5nMQ==,size_16,color_FFFFFF,t_70)
$ git log --pretty=short
$ git log --pretty=full
$ git log --pretty=fuller
修改文件人员与提交文件人员可以不是同一个人,所以在查询日志时会区分修改人与提交人。
使用git
命令进行如下操作:
git branch -m oldBranchName newBranchName
git push origin :oldBranchName
git push --set-upstream origin newBranchName
在本地创建的文件夹项目,可以通过以下步骤将其提交到远程 Git 仓库中:
git init
git remote add origin remote-url
git add .
这将添加所有更改的文件到 Git 仓库中,也可以使用 git add file-name
命令来添加指定的文件。
git commit -m "commit-message"
git pull
获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)git pull –rebase origin master
git push -u origin master ### 常用的JavaScript设计模式 * 单体模式 * 工厂模式 * 例模式  ### 函数 * 函数的定义 * 局部变量和全局变量 * 返回值 * 匿名函数 * 自运行函数 * 闭包 
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。