删除错误添加到暂存区的文件 有时你在工作区新建了文件TestFile,并且已经将它添加到了暂存区,git会告知,现有有一个文件未提交到版本库,如下图: ?...仅仅删除暂存区里的文件 此时你想撤销错误添加到暂存区里的文件,可以输入以下命令: git rm --cache 文件名 ?...上面的命令仅仅删除暂存区的文件而已,不会影响工作区的文件,如上图,TestFile.txt仍然存在,此时输入下面命令,git会告知有一个未跟踪的文件TestFile.txt。...git status 删除暂存区和工作区的文件 git rm -f 文件名 工作区的文件也被删除了。 ?...错误提交到了版本库,此时无论工作区、暂存区,还是版本库,这三者的内容都是一样的,所以在这种情况下,只是删除了工作区和暂存区的文件,下一次用该版本库回滚那个误添加的文件还会重新生成。
git commit -m "我把文件存到Git仓库了啊" 1、场景一:小明“不小心”把工作区的hello.txt手动删除了。...deleted: hello.txt no changes added to commit (use "git add" and/or "git commit -a") Git发现工作区和仓库版本不一样...事实上Git已经提醒了,rm或者checkout 1.1 小明没有不小心,他确实要把文件删除 先删除 git rm hello.txt 再提交 git commit -m "i wanna remove...test.txt" 1.2 小明确实不小心,他想买“后悔药”,Git帮可以他 一句代码还原精灵 git checkout --hello.txt 这么做有可能造成损失,因为还原的是Git仓库的,万一小明把最最新版的文件删除了那...2、场景二:小红想把Git仓库和暂存区的文件删除,但是保留工作区的文件,怎么办? Git帮她 git rm --cached hello.txt 文件还在磁盘上,就是不知道是不是小红需要的:0
步骤如下: git status git rm -r --cached .idea git commit -m 'delete .idea' git push
部分场景中,我们会希望删除远程仓库(比如GitHub)的目录或文件。...具体操作 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ git rm 我的文件 在本地仓库删除文件夹 $ git rm -r...我的文件夹/ 此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。...提交代码 $ git commit -m"我的修改" 推送到远程仓库(比如GitHub) $ git push origin xxxxxx 补充: git rm 查看git rm的说明文档: $ git...-n, --dry-run 演习 -q, --quiet 不列出删除的文件 --cached 只从索引区删除 -f, --force 忽略文件更新状态检查 -r 允许递归删除 --ignore-unmatch
可以新建一个分支指向对应的提交 git branch branchName commitId 找回删除的文件上面 撤销add 一节中我们用的命令并不会删除工作目录中的文件,但是万一你一不小心漏掉了 --...cached 参数,那效果就不一样了,会把工作目录和暂存区中的文件记录都会删除。...比如://这样执行删除,new.txt不会出现在垃圾桶 rm new.txt 要想知道删除的文件能不能找回来,我们先得明白我们的文件信息存在于哪些地方。...主要是3个:工作目录暂存区也可能有,如果之前 add 过,并且没有做过删除暂存区的操作的话commit信息中,这里如果之前提交过则肯定是有的,而且一般是删除不掉的如果我们前面是通过上面的 rm 命令删除了工作目录的文件...,那我们可以从暂存区里面把文件恢复出来:git checkout -- new.txt 如果我们是一开头的那种情况,用 git rm 命令,就会把暂存区和工作区都删除了,那还可以从最近的 commit
说一下git rm和rm的区别,虽然觉得这个问题有点肤浅,但对于刚接触git不久的朋友来说还是有必要的。...用 git rm 来删除文件,同时还会将这个删除操作记录下来; 用 rm 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除。...直观的来讲,git rm 删除过的文件,执行 git commit -m "abc" 提交时,会自动将删除该文件的操作提交上去。...而用 rm 命令直接删除的文件,单纯执行 git commit -m "abc" 提交时,则不会将删除该文件的操作提交上去,需要在执行commit的时候,多加一个-a参数, 即rm删除后,需要使用git...commit -am "abc"提交才会将删除文件的操作提交上去。
使用-A参数表示暂存所有已修改文件: git add -A ? 2.5.查看未暂存和已暂存的修改 在工作区工作的时候,我们想要知道: 当前做的哪些更新没有暂存?...如图,在test.c文件中添加一行代码: ? 然后分别使用git status和git diff查看: ?...2.7.跳过暂存区域直接提交更新 先将工作区的内容提交到暂存区,然后将暂存区的内容提交到仓库,这样的过程未免过于繁琐,使用如下命令可以跳过暂存区,直接将工作区修改的文件(未追踪的文件不能直接提交)添加到仓库...表示取反; 在这里我们编辑一个.gitignore文件作为示例: ? 然后编译产生中间文件和可执行文件: ? 查看Git对当前文件的状态: ?...2.9.移除文件 要从Git的暂存区和仓库中移除一个文件,有两种情况: 从暂存区删除,并且从工作目录删除源文件: git rm 文件名> 从暂存区删除,保留工作区的源文件: git rm --cached
注意 如果看不到**.git文件,应该是没有选择显示隐藏文件夹,需要手动显示。点击查看**------>选项------>查看------>选择显示隐藏的文件、文件夹和驱动器,点击应用即可。 ?...显示隐藏文件夹 向本地版本库添加文件 版本库:”.git“目录就是版本库,将来文件都需要保存到版本库中。工作目录:包含”.git“目录的目录,也就是.git目录的上一级目录就是工作目录。...在本地仓库添加文件4 可以看到记事本文件多了一个加号,就把文件添加到暂存区了。(如果没有显示加号,应该是刚装上TortoiseGit,更新不及时,需要重启电脑。)...在本地仓库添加文件5 选择Git提交(C)->"master"... ? 在本地仓库添加文件6 可以看到提交按钮是灰色的,我们需要写日志文件 ? 在本地仓库添加文件7 写好日志点击提交就可以了。 ?...编辑日志信息,选择提交就可以了。 ? 文件的修改与提交4 ? 文件的修改与提交5 点击关闭。 同样的操作,我们再更改一次。 ?
Git,使其成为一个仓库 Git 现在会创建一个隐藏的文件夹,以跟踪该文件夹中的更改 当文件被更改、添加或删除时,它被视为已修改 你选择要暂存的已修改文件 已暂存的文件被提交,这会促使 Git 存储文件的永久快照...在本教程中,我们将专注于使用 Git 与 GitHub。 Git 暂存环境 Git 的核心功能之一是暂存环境和提交的概念。 当你工作时,你可能会添加、编辑和删除文件。...来取消暂存) 新文件: index.html 现在该文件已被添加到暂存环境。 Git 添加多个文件 你还可以一次暂存多个文件。让我们向我们的工作文件夹添加 2 个文件。再次使用文本编辑器。... 现在将当前目录中的所有文件添加到暂存环境: git add --all 使用 --all 而不是单个文件名将会将所有更改(新文件、修改过的文件和已删除的文件)...- 未跟踪的文件 A - 已添加到暂存 M - 修改过的文件 D - 已删除的文件 我们看到我们预期的文件已被修改。
已暂存 在上面的1、2两段,关于未追踪和已更新,总结的是工作区文件存在的各种状态。但是在把文件提交到版本之前,还需要中间的一个过渡阶段:暂存区。 文件提交到暂存区便是已暂存状态。...看上面文件各个状态之间的转化图,我们知道文件可以由未跟踪和已更新两种状态转化而来。...由之前的操作,现在已经有了各种状态的文件: 未追踪文件:README.md 编辑更新文件:modify.go 冲突更新文件:conflict.go 删除更新文件:delete.go 下面如何使用git...会把删除更新加入暂存区,我分别在 git 1.8.3.1 和 2.9.3 两个版本测试了下,新版的确和旧版行为不同,会把删除更新加入到暂存区。...更新直接提交 git commit -am "message" 可以将编辑更新直接从工作区提交仓库,即跨过暂存区。不支持删除与冲突更新和新文件的提交。
未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非你明明白白地告诉它“我需要跟踪该文件”, 这样的处理让你不必担心将生成的二进制文件或其它不想被跟踪的文件包含进来...LICENSE.txt 新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M标记。...查看已暂存和未暂存的修改 如果 git status 命令的输出对于你来说过于模糊,你想知道具体修改了什么地方,可以用 git diff命令。...可以用 git rm 命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。...如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f(译注:即 force 的首字母)。 这是一种安全特性,用于防止误删还没有添加到快照的数据,这样的数据不能被 Git 恢复。
、工作区workspace:就是我们敲代码编辑文件的地方 2、暂存区staging area:修改过的文件需要暂存后才能commit 3、本地版本库local repository:将暂存区的代码commit...(拷贝一份远程仓库,即下载一个项目) 2、Status 状态 git status(查看上次提交后文件的修改情况) git status -s(简洁显示) 3、Add 添加 add命令可以将文件添加到暂存区...(添加所有文件) git add hello.txt readme.md …(添加指定文件) git add dir(添加指定文件夹) 4、RM 删除 git rm hello.txt(将文件从工作区中删除...) git rm -f hello.txt(已经放到暂存区的文件,需要使用强制删除指令-f) git rm —cached hello.txt(将文件从暂存区中移除,但保留在工作区) git rm -r...)(Untracked:未暂存) 10、Reset 撤销修改 git reset(将暂存区文件重置到跟上一次commit保持一致,工作区文件保持不变) git reset HEAD^(回退所有内容到上一个提交
提交更改 2.1 显示工作目录中已修改的文件,准备提交 $ git status 2.2 将文件添加到暂存区,准备提交 $ git add [文件名] 2.3 将所有已修改的文件添加到暂存区,准备提交...reset [文件名] 2.9 恢复到上次提交的状态 $ git reset --hard 2.10 查看未暂存的更改 $ git diff 2.11 查看已暂存但未提交的更改 $ git diff...跟踪文件路径变动 9.1 删除项目中的文件并准备提交删除 $ git rm [文件名] 9.2 更改文件路径并准备提交变动 $ git mv [原路径] [新路径] 9.3 显示包含路径变动的提交日志...检查 Git 配置 $ git config --list 16. 删除未跟踪的文件和目录 $ git clean -fd 17....手动编辑并解决冲突后,使用 git add 将文件添加到暂存区。
这意味着,每当您在项目中添加、修改或删除文件时,Git 都会创建一个新的备份,称为提交(commit)。提交是代码修改的快照,并包含了作者、时间戳以及相关的元数据信息。...文件,这个项目就不是空的了; 添加文件到暂存区 将要上传的文件添加到Git的暂存区,使用以下命令: git add filename // 添加单个文件 git add . // 添加所有文件...可以使用git add ...命令将文件添加到暂存区,以将其包含在下一次的提交中。...这个命令会将当前分支的 HEAD 指针指向指定的提交,同时将之前的修改内容放入工作目录,并取消暂存区的文件。 它会保留之前的修改作为未暂存的修改,需要重新添加和提交文件。...打开包含冲突的文件,根据标记手动编辑文件,解决冲突并保留需要的更改。 解决冲突后,使用 git add 命令将修改的文件标记为已解决冲突。 最后,使用 git commit 命令提交解决冲突后的更改。
\Documents and SettingsUSER下) Git相关的配置文件有三个: 1)、 /etc/gitconfig:包含了适用于系统所有用户和所有项目的值。...Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。 WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。...将untracked状态的文件添加到暂存区,语法格式如下: # 添加指定文件到暂存区 $ git add [file1] [file2] ......移除所有未跟踪文件 #移除所有未跟踪文件 #一般会加上参数-df,-d表示包含目录,-f表示强制清除。 git clean [options] 示例: ? ?...或者 “git checkout — ” 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
用 Git 进行检查并不麻烦。相比之下,Git 中有不少删除和撤销提交以及文件改动的操作。...对协作项目而言,revert 是很安全的,因为它不会覆盖其他用户分支可能依赖的历史记录。 revert 很安全。 有时候你只想删除本地目录中的未追踪文件。...例如,也许你运行的代码在版本库中创建了许多你不需要的不同类型的文件。你可以一键清除它们! Git clean –n——删除本地工作目录中的未追踪文件。 –n 表示试运行,在试运行中什么都不会删除。...-f 表示实际删除文件。 -d 表示删除未追踪的目录。 默认情况下不会删除 .gitignore 中的未追踪文件,但这种行为是可以更改的。...现在你已经知道了 Git 中用于撤销操作的命令,接下来我们再看两条可以有序排列文件的命令。 整理 Git commit –amend——将暂存区的更改添加到最近一次提交中。
查看具体修改了哪些文件 git log --stat 显示被修改的文件 显示添加/删除的行数 显示一个摘要,其中包含修改/删除的总文件数和总行数 查看文件修改的内容 git log --patch git...# 加入指定文件 git add [filename1] [filename2] # 加入所有文件 git add . git commit命令 用于将暂存区中的文件提交到库中。...# 删除标签 git tag -d [version] #向之前的某次提交添加标签 git tag -a [version] [a87984] git branch命令 显示分支 ?...如果分支上有其他分支都不包含的commit(分支从未合并过),则也不能删除。 因此该命令是安全的。 如果要强制删除某一分支(会丢失未合并的commit),使用大写的D选项。...git revert [commit-sha] 重置commit 假设有一个文件修改后提交到了暂存区,但是还没有commit,则可以使用下面的命令还进行还原: # 将文件撤出暂存区 git reset
工作目录中除已跟踪文件外的其它所有文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有被放 入暂存区。...初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态,因为 Git 刚刚检出了它们, 而你尚未编辑过它们。...编辑过某些文件之后,由于自上次提交后你对它们做了修改,Git 将它们标记为已修改文件。 在工作时,你可以 选择性地将这些修改过的文件放入暂存区,然后提交所有已暂存的修改,如此反复。...以包含要提交的内容) README 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪) 在状态报告中可以看到新建的 README 文件出现在 “未跟踪的文件” 下面。...新添加的未跟踪文件 A 新添加到暂存区中的文件 M 修改过的文件
第一步是在项目根目录中本地初始化一个新的Git repo。你可以使用下面的命令: git init 如何在Git中添加一个文件到暂存区: 下面的命令将向暂存区域添加一个文件。...git add filename_here 如何在Git中添加暂存区中的所有文件: 如果要将项目中的所有文件添加到暂存区域,可以使用通配符‘.’。每一个文件都会为你添加。 git add ....如何在Git中只添加某些文件到暂存区域 使用下面命令中的星号,您可以在暂存区域中添加所有以'fil'开头的文件。...git add fil* 如何在Git中检查存储库的状态: 该命令将显示当前存储库的状态,包括暂存、未暂存和未跟踪的文件。...git commit -m "your commit message here 如何在Git中提交更改(并跳过暂存区域): 通过使用-a和-m选项,您可以使用单个命令添加和提交跟踪文件。
显示索引文件(也就是当前工作空间)和当前的头指针指向的提交的不同 # 显示分支,未跟踪文件,更改和其他不同 $ git status # 查看其他的git status的用法 $ git help status...# 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add ....# 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add -p 删除 rm 和上面的 add 命令相反,从工作空间中去掉某个文件 # 移除 HelloWorld.js...恢复暂存区的指定文件到工作区 $ git checkout [file] # 恢复某个commit的指定文件到暂存区和工作区 $ git checkout [commit] [file] # 恢复暂存区的所有文件到工作区...$ git reset dha78as # 将当前分支恢复到某次提交,覆盖现在的工作目录 # 并且删除所有未提交的改变和指定提交之后的所有提交 $ git reset --hard dha78as
领取专属 10元无门槛券
手把手带您无忧上云