使用 git init 命令: $ git init Initialized empty git repository in /home/wm/project/wm_git_book/.git/ git...中的文件有那些状态?...被git管理的工作目录中的文件无非两种状态:已跟踪或者未跟踪。 已跟踪的文件是指那些被git管理的文件,在上一次快照中有他们的记录。已跟踪的文件可的状态能是未修改的、已修改的或者已暂存的。...工作目录中除了已跟踪的文件,其余全是未跟踪的文件。 怎样查看文件状态?...use "git add" to track) 怎样暂存和提交文件?
situation 用git checkout切换本地分支从b1到b2时, 如果b1的本地文件有修改, 会发生冲突。...(b1和b2不在一个commit id上) 设b1和b2都有123.txt这个文件(这2个branch下123.txt文件内容可相同可不相同); 当前在b1下, 修改了一行123.txt, 然后想git...实际的应用场景是这样:假设你有分支master和develop。master用来release版本,develop用来开发。master上release了版本1,然后develop继续开发。...如果你在develop上开发到一半的时候,release的版本1发现了bug。这个时候,你develop分支有未提交的修改,然后你需要切换到master上的版本1进行修复。...这个时候切换到master分支,肯定是不需要把develop分支上的修改带过去的。
文章目录 一、添加暂存文件 git add 二、提交文件至版本库 git commit 三、查看版本库状态 git status 四、查询文件修改 git diff 一、添加暂存文件 git add -...命令 将文件添加到 " 暂存区 " , 然后执行 git commit 命令 将文件提交到 " 版本库 " ; 二、提交文件至版本库 git commit ---- 使用 git add 命令 , 将文件提交到...如添加了哪些文件 , 修改了哪些文件内容 , 新增加了功能 , 修复 BUG 等 ; 执行 git commit -m "add 3 files" 命令 , 可以将上述添加到 " 暂存区 " 的文件 ,...提交到版本库中 ; 执行过程 : git commit 命令如果执行成功 , 会打印出本次提交版本库有哪些变动 , 此处提交的版本库增加了 3 个文件 ; D:\Git\git-learning-course...\git-learning-course> 注意 : 提交代码时 , 需要先 执行 git add 命令 将文件添加到 " 暂存区 " , 然后执行 git commit 命令 将文件提交到 " 版本库
不小心将项目中一个文件夹删除还未提交,或者已经提交, 此时想要恢复数据该怎么办? 答案是git reflog,使用git reflog命令可以帮助恢复git误操作,进行数据恢复。...操作过程: 打开终端命令行,进入到项目目录,输入git reflog,可以得到如下结果: ?...git记录每次修改head的操作,git reflog/git log -g可以查看所有的历史操作记录,然后通过git reset命令进行恢复。 ...想要将代码恢复到"ssm-login初始化"时的版本,此时的head记录值为"b40839f",输入如下命令即可: git reset --hard b40839f 误删数据回来啦!
前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例。...pytest-picked 插件可以实现只运行未提交到git仓库的代码。...没加到git里面的新文件 unstaged staged:暂存状态, unstage就是未暂存状态,也就是没git add 过的文件 先弄清楚什么是 untrack 状态,当我们 pycharm 打开...git 项目,新增一个文件的时候,会弹出询问框:是否加到 git 文件 如果选择是,文件会变绿色,也就是 unstage 状态(没git add 过);选择否,那就是一个新文件,未被加到当前分支的...,但尚未提交的文件(不包含 Untracked files) 运行 pytest --picked --mode=branch, 运行分支上已经被暂存但尚未提交的代码 (pytest_env) ➜
git 是如今最流行的代码版本管理工具,没有之一。...今天说一个 git 使用时的细节:.gitignore 我们在使用 git 管理代码时,如果默认把项目里的所有文件都 add 进去,加入到仓库中,会有几方面问题: 不必要的文件被加入,导致仓库很大...自动生成的文件被加入,会导致频繁改动,并容易产生版本冲突 带有敏感信息的文件被加入,造成信息泄露 那么到底哪些文件应该被提交到仓库里呢?...其实就一个原则:git 只用来上传代码,其他的都不应该加到仓库里 应当忽略的文件包括: 系统生成的临时文件 编译产生的结果文件(比如 .pyc) 用户数据(这个尤其不能加仓库里) 个人开发环境相关的配置文件...x.pyc # 忽略根目录下 TMP 文件夹中的文件 /TMP # 忽略所有名为 build 文件夹中的文件 build/ # 忽略名为 doc 文件夹里的 .txt 结尾的文件(不包含子目录)
开发的时候有时候需要对已经提交的文件做忽略处理,这时候直接添加到.gitignore中是不行的。...需要忽略已跟踪文件的变动: git update-index --assume-unchanged 撤销忽略跟踪 git update-index --no-assume-unchanged
今天上传代码的时候忘记写 gitignore 了,一不小心把 node_modules 也传上去了,这破玩意体积巨大,所以要从上面删除。...执行命令: git rm -r --cached admin/node_modules git commit -m "删除node_modules" ? 下次 push 代码的时候就会发现已经删掉了。
大家好,又见面了,我是你们的朋友全栈君。...这篇文章是探索git忽略文件提交的一些方面的研究,分为2个部分,内容如下 1.在项目中隐藏掉你不想看到的文件夹或者文件, 2.使用.ignore插件在IDEA中忽略你要提交的文件。...创建好了之后: 1.添加.gitignore 2.将不需要提交到版本控制add ignore中 例如你创建了一个MyTest文件,首先不要git add,使用工具: 此时刚被你选中的被忽略的文件名变成了灰色...,此时该文件你想git add也add不进去,当然也就不能提交了。...ps:万一你不小心git add file(add File文件了,哪怕文件置灰,也是能提交的)了,怎么办,不用急 使用git 命令如下: git rm –cached file_path git
打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区,工作区的文件需要添加到Git的暂存区(git add),随后再提交到Git的版本库(git commit)。...首次新建的文件都是untracked状态(未跟踪),此时需要git add到暂存区,Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态,需要git commit生成版本库。...删除错误添加到暂存区的文件 有时你在工作区新建了文件TestFile,并且已经将它添加到了暂存区,git会告知,现有有一个文件未提交到版本库,如下图: ?...上面的命令仅仅删除暂存区的文件而已,不会影响工作区的文件,如上图,TestFile.txt仍然存在,此时输入下面命令,git会告知有一个未跟踪的文件TestFile.txt。...为什么不使用--soft呢,因为它只是恢复了版本库,暂存区仍然存在你错误提交的文件索引,还需要进一步使用上一节的删除错误添加到暂存区的文件,详细见上文。 ?
使用git的时候 , 如果我们在自己的工作区中修改了代码 , 既没有git add , 更没有git checkout , 想要恢复成修改之前的样子 用 git checkout git checkout...文件 , 恢复某个文件
概述 在 Git 提交一个文件的时候,有时候会在同一个文件中,包含两个不同功能的修改,或者一个功能完成了,而别的部分还没有完善不应该进入代码库,这时候如果使用git add file-name的话,会将这个文件中的所有更新都提交...针对这种场景,git 提供了更细粒度的提交命令git add -p,可以分部分提交一个文件中的更新代码块,实测能满足常见的需求。这里简要记录一下如何使用这个命令。 2....实现命令 2.1 原理解释 git 中用”hunk”来表示一个文件中邻近区域中的代码修改块,比如用git diff 查看修改时,两个@@符号分割的一个区域就是一个hunk,其中行首是-,颜色为红色的为删去的行...图片 需要注意的是,git有一套默认的将文件中所有修改分成不同hunk的机制,但我们也可以将默认机制分的太大的hunk分割为多个小的hunk,这样能更精确地控制提交的粒度。...部分提交文件修改的原理简单来说是将所有的修改分成不同的hunk,通过对每个hunk来进行是否提交的判断,从而完成我们的需求。具体命令下面详细讲述。
有时候分析漏洞我们需要看看怎么修复的,什么时候谁修复的,提交的id是多少,下面的命令就很有用 假如我们知道漏洞出现在某个文件,我们只要执行下面命令,即可看到这个文件的修改记录 git log -p 文件名...比如下面的例子 $ git log -p slirp/tcp_subr.c commit 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0 Author: Prasad...看到了这个commit id,你可以用git show id去查看,不过跟上面的结果看到的是一样的 $ git show 345fab6ffe57b0bf6dccbc0844f45f77b91d9de0...so_rcv->sb_rptr += m->m_len; (END) github上直接搜索这个commit id就可以了 题外话 更进一步,假如你想看看这个文件每一行最新是谁修改的...,使用git blame 文件名 例子如下: git blame slirp/tcp_subr.c f0cbd3ec9 (Fabrice Bellard 2004-04-22 00:10:48
有时候,在git commit后,我们会发现一些文件忘了提交了,或者需要修改,而且这些提交和修改是与上一次commit的主题一致的,这时候再执行一遍相同的git commit就会让提交记录显得比较冗余,...有没有办法将修改后的文件加到最后一次的提交记录里面呢?...搜索后发现这里给了一个解决办法,git add文件后调用git commit --amend -no-edit即可: git add git commit --amend --...no-edit 注意:如果之前的代码已经提交的话,需要执行git push --force来推送代码以替代之前的提交记录。
git checkout时遇到的问题 当我们使用git进行代码版本管理时,如果本地有多个并行开发的需求的话,我们会时不时地切换不同的分支。...当我们基于当前分支做了一些改动,但是并没有执行git commit命令的话,这时如果我们想直接git checkout到另外的分支,那么idea就会弹窗提醒我们,选force checkout或者smart...两者有何不同 git checkout如果未提交本地代码。则会提示你选force checkout或者smart checkout。...不慎点击force checkout后如何找回 force checkout后可以通过以下步骤找回丢失的代码 1.在项目文件夹右键。...点击local history->show history 2.接着找到checkout前的时间 3.右键选项后点击revert或者点击具体的类进行比较分析,把丢失的代码移动过来 首发链接:https
删除已经提交的.idea文件夹 git pull origin master # 将远程仓库里面的项目拉下来 //--cached不会把本地的test删除 git...rm -r --cached .idea # 删除.idea文件夹 git commit -m '删除.idea' # 提交,添加操作说明 git push -u...origin master # 将本次更改更新到github项目上去 git忽略某个目录或文件不上传 在.gitignore文件加调用文件夹/文件 node_modules...# 忽略文件夹 *.map # 忽略所有以.map结尾文件 .DS_Store /node_modules /dist /unpackage /.hbuilderx /tests/e2e/videos
git update-index --assume-unchanged 的真正用法是这样的: 你正在修改一个巨大的文件,你先对其 git update-index --assume-unchanged,...这样 Git 暂时不会理睬你对文件做的修改; 当你的工作告一段落决定可以提交的时候,重置改标识:git update-index --no-assume-unchanged,于是 Git 只需要做一次更新...,这是完全可以接受的了; 提交+推送。
、暂存区,只是在工作区) git add a.txt 把文件添加到暂存区 git commit -m "提交了一个a.txt文件" 把暂存区所有文件提交到本地仓库 -m:加批注 git add ....提交所有文件到暂存区 vi user.txt 进入文件内部修改文件内容 git基本命令 git配置 全局设置 git config --global user.name yourname git...暂存区 git commit -m '操作的描述' git reset head 取消add操作 把暂存区的文件撤销 git status 查看git文件状态 git log 查看过去...选择需要的内容留下来,并删除git自动生成的内容 ? 删除没有用的分支 ? 修改注释 ? 3.2当紧急任务来时,需要暂存的时候,1.先暂存2.再取出 ? ?...3.3忽略文件不提交:例如target字节码文件不提交 ? ? 如果还想那个文件不提交,就向.ignore中添加条件 vi .gitignore ?
vue项目中使用npm run build打包后会生成一个dist文件,使用git推送项目后,发现git上少了一个dist文件,为什么明明本地项目中有这个文件而推上去就没有了呢?...一、简绍 我们做的每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。...表示不忽略(跟踪)匹配到的文件或目录; 此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效; 2、示例说明 a、规则:...**npm-debug.log:**项目主目录下总是会出现这个文件,而且不止一个,原因是npm i 的时候,如果报错,就会增加一个此文件来显示报错信息,npm install的时候则不会出现。...二、解决办法 找到.gitignore这个文件,把/dist这一项删掉。在重新提交git就可以了。
1. git 无法提交空目录? ---- 相信大家在项目中肯定会发现空目录是不会被 git 追踪 (track) 的,但这是为什么呢 ?...因为 git 最初的设计是用来索引文件的,所以 git 只关注文件,不关心目录,但是在有些场景下空目录也需要被追踪的 2. 如何提交一个空目录 ?...---- git 无法追踪空目录,但当想要追踪一个空目录时,最主流的做法是在这个空目录中新建一个 .gitkeep 文件,这只是一个约定俗成的空目录识别文件名,除了占位识别空目录,没有其他意义,在很多开源项目中的也是使用这个文件名...插件也能将其识别为 git 相关文件,在其文件名前显示 git 图标 是不是觉得这种解决方案感觉有点扯淡,为什么提交不了空目录,一定要放个文件才行 抱着疑惑的态度查找资料,在下面这个链接我找到解释 https...当一个空目录想要被 git 追踪,这个目录中的内容也需要被 git 跟踪时 .gitkeep 文件内容可有可无,只是起到一个占位符的作用,使目录能够被 git 提交到远程库 使用场景: 存放静态资源的
领取专属 10元无门槛券
手把手带您无忧上云