这些是新暂存(用git add添加的)和提交(用git commit提交的)到主仓库的文件和目录。...untracked -这些是在工作目录中创建的任何新文件或目录,但还没有暂存(或使用git add命令添加)。 ignored -这些是Git在Git存储库中完全排除、忽略和不知道的所有文件或目录。...通常,.gitignore文件被放置在存储库的根目录中。根目录也称为父目录和当前工作目录。根文件夹包含组成项目的所有文件和其他文件夹。也就是说,您可以将它放在存储库中的任何文件夹中。...要忽略一个完整的目录及其所有内容,你需要在目录名的最后加上斜杠/: test/ 该命令将忽略位于项目中任何位置的名为test的目录(包括该目录中的其他文件和其他子目录)。...这意味着该文件作为一个被忽略的文件保留在您的本地系统和工作目录中。 git status将显示该文件已不在存储库中,而输入ls命令将显示该文件存在于本地文件系统中。
在本教程中,我们将说明如何使用.gitignore忽略Git中的文件和目录。包括常见匹配模式*星号,斜杠/,#井号注释,?...斜杠符 斜杠符号(/)是目录的分隔符。斜杠开头模式相对于.gitignore所在的目录。如果模式以斜杠开头,则仅从仓库的根目录中开始匹配文件和目录。...如果模式不是以斜杠开头,则它将匹配任何目录或子目录中的文件和目录。 如果模式以斜杠结尾,则仅匹配目录。当目录被忽略时,其所有文件和子目录也将被忽略。 文件名 最直接的模式是没有任何特殊字符的文件名。...该文件可以命名为任意名称,并存储在任何位置。保存此文件的最常见位置是主目录。你必须手动创建文件并配置Git使用它。...要递归删除目录,请使用-r选项: git rm --cached filename 如果要从索引和本地文件系统中删除文件,请忽略--cached选项。
部分场景中,我们会希望删除远程仓库(比如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...rm -h 用法:git rm [] [--] 文件>...
在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 结果造成本地(远程)的分支或某些...通过git log -g命令来找到我们需要恢复的信息对应的commit_id,可以通过提交的时间和日期来辨别。...通过git branch recover_branch[新分支] commit_id 来建立一个新的分支 这样,我们就把丢失的东西给恢复到了recover_branch分支上了。...Q:怎样找回历史版本中删除的文件?...A:先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout [commit_id] -- 就可以恢复
使用ls和grep命令配合 统计当前目录下文件的个数,不包括目录 > ls -l | grep "^-" | wc -l 统计文件夹下文件个数,包括子文件 > ls -lR | grep "^-" |...wc -l 9188 统计文件夹下目录个数,包括子目录 > ls -lR | grep "^d" | wc -l 540 使用find和wc 统计当前目录下所有的普通文件,包含隐藏文件,不包含子目录下的文件...> find /etc -maxdepth 1 -type f | wc -l 统计目录中的文件数量,包含隐藏文件,包含子目录的文件 > find /etc -type f | wc -l 统计当前目录的下的子目录数...-type f普通文件 -type d目录 使用tree 统计当前目录下的目录和文件数,不包含隐藏文件 > tree -iLf 1 . ./bin ./include ./lib ....linux中的15个基本ls命令示例 Linux之ls命令 linux中35个find案例 linux中计算行数,字数,字符数的10个wc命令示例
选择对应分支 git checkout -b 分支名> 2....删除git的.idea文件 git rm --cached -r .idea # 如果没有git忽略文件的话,操作: ①配置.gitignore文件(新建/编辑) echo '.idea' >> .gitignore...②将.gitignore文件上传到远程仓库 git pull git add .gitignore git commit -m 'edit .gitignore' git push origin master...3.同步到远程仓库 git commit -m 'delete .idea' git push 分支名> (adsbygoogle = window.adsbygoogle || []).
#列出以上配置的信息 所配置的信息都存在~/.gitconfig文件中。...,具体信息请自行百度深入学习 git diff #查看暂存区的文件相对于工作区修改了哪些内容 git diff --staged #查看HEAD...区的文件相对于暂存区修改了哪些内容 git diff HEAD #查看HEAD区文件相对于工作区修给了哪些内容 4.1....公钥 将生成的ssh公钥复制粘贴到码云账户个人信息修改里面: 选择右上角用户头像 -> 菜单“修改资料”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub...origin添加为https链接,然后pull和push时自行输入码云的用户名和密码。
在 Linux 系统中,有时我们需要删除空的文件和目录。空文件和目录不包含任何内容,它们可能是我们意外创建的或者是不再需要的。...本文将详细介绍如何在 Linux 中删除空文件和目录,同时提供多个实际示例,以便您能够轻松地完成这个任务。...图片准备工作在开始删除空文件和目录之前,请确保您已具备以下条件:一台安装有 Linux 操作系统的计算机。以 root 或具有适当权限的用户身份登录。...请确保您选择正确的目录并备份重要的数据。结论通过本文的指导,您已经学会了如何删除 Linux 中的空文件和目录。无论是删除空文件还是空目录,您都可以使用 rm 命令和 rmdir 命令来轻松完成任务。...对于非空目录,您可以使用 rm 命令的递归参数 -r 或 -rf。请牢记,在删除文件和目录时要小心谨慎,并确保您选择正确的文件和目录。
树对象(tree)—— 保存文件名和目录关系 树对象主要解决2个问题,:文件名的保存和文件目录关系的保存 就像下面这样: ?...Git 根据某一时刻暂存区(即 index 区域)所表示的状态创建并记录一个对应的树对象,如此重复便可依次记录(某个时间段内)一系列的树对象。而暂存区里保存就是我们add进去的文件和目录。...,因为文件不在暂存区中 cacheinfo:表示是从Git数据库中取文件,因为我们的文件不在工作目录,而是在Git数据库中 100644:表示是普通文件,此外还有100755,表示一个可执行文件;120000...echo 'version 2'> text.txt git add . git write-tree 下面我们来看看怎么解决目录保存的问题,也就是树和树关联起来 //首先把前面的把那个树对象写入到暂存区...数据对象和树对象用于保存数据和文件名和目录,我们还需要记录是谁保存的这些数据以及时间和原因等信息,而这些信息就需要第三个对象——提交对象。下一次我们就来看看提交对象。 如果对你有帮助,欢迎分享转发
.在自己目录下生成了一个隐藏的.git文件夹.不要随便改.改了就出问题了. 2.2添加文件到缓存区 git add 文件名 / git add -A 一个是单个文件上传,一个是提交所有文件,关于git...git commit -m "注释" / git commit 建议使用第一种方法.第一种可以给注释,表示你修改了什么 3.版本回退 讲解版本回退之前,我们要熟悉一个命令.因为实际开发中,你修改的文件很多...使用之后会在用户的主目录下创建两个文件, 用户的主目录就是 adminstart下. 如果不想找,你可以下个 Everything搜索工具.可以快速搜索文件....用户的主目录下会有一个.ssh文件夹. 里面有两个文件 id_rsa 和 id_rsa.pub两个文件. 第一个是rsa私钥,第二个是rsa公钥....我们以前编写的代码,都是在一个分支中,也就是主分支,可以理解为是一个主文件夹.但是现在我们有需求了.
当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。...在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings$USER。...git init newrepo 初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。...自己作为开源项目发起人 我们知道,git拥有极其强大的克隆和分支功能,在团队协作中,你自己作为团队项目的主干,其它成员就各自有一条分支,每个人都在自己的分支上工作,互不影响,这样能最高效地开发项目。...而当你的提交和其它人的提交产生了冲突,比如同时创建了一个变量,亦或是同时修改了某个文件的公共部分,此时就无法自动合并,这样,你得通过git工具将他人的代码更新到自己的本地仓库,然后在本地将冲突解决,再推送到
既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各 自的修改推送给对方,就可以互相看到对方的修改了。...现在我们已经提交了一个README.md文件了,我们下面可以通过命令git status来查看是否还有文件未提交,如下: 接下来我想看下README.md文件到底改了什么内容,如何查看呢?...可以使用如下命令: git diff README.md 对README.md文件做了三次修改了,那么我现在想查看下历史记录,如何查呢?...在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令: ssh-keygen...由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来
这个命令是克隆出一个完整的版本库,而不是简单地拷贝文件,这和SVN不一样~版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改...刷新GitHub页面,发现已经有了本地的修改(添加了git.txt文件)~ ? 分支与合并 分支的作用体现在多人协作中,分支不影响主线(master分支)的开发。...提交分支 exp分支和master分支中的文件是隔离的,修改exp分支下的文件,并不会影响到master分支的文件。...注:push前也需要add、commit等操作~ git push origin exp ? 合并分支 分别修改了master分支和exp分支的git.txt文件,如下图: ?...“中间人”攻击 容易受到“中间人”攻击,即: 你的数据 ↔ ️中间人 ↔️ 服务器 使用SSH 创建 SSH Key 在用户的主目录下,查看是否有.ssh的隐藏目录,查看里面是否有id_rsa和id_rsa.pub
引言 在大多数情况下,我们习惯于使用 Delete 键、垃圾箱或 rm 命令从我们的计算机中删除文件,但这不是永久安全地从硬盘中(或任何存储介质)删除文件的方法。...在下面的命令中,选项有: ? ? 你可以在 shred 的帮助页中找到更多的用法选项和信息: ?...2.wipe – 在 Linux 中安全删除文件 wipe 命令可以安全地擦除磁盘中的文件,从而不可能恢复删除的文件或目录内容。 首先,你需要安装 wipe 工具,运行以下适当的命令: ?...安装完成后,你可以使用 srm 工具在 Linux 中安全地删除文件和目录。 ? 下面是使用的选项: ? ? 阅读 srm 手册来获取更多的使用选项和信息: ?...假设你创建了一个单独的分区 /home 来存储正常的系统用户主目录,你可以在该分区上指定一个目录,以便在其上应用 sfill: ?
特别是作为开发人员的我们,需要频繁的对项目代码进行更新,容易产生错误的变更或者是项目文件的丢失。因此,我们需要在整个工作的过程中不断的备份和存档我们的项目文件。 ...既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。 ...平时开发就是拷贝远程仓库中的一个分支,并基于该分支进行开发。在开发的过程中就是对工作区的操作。...git clone [url] 配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置) 显示当前的Git配置 $git config --list...添加指定类型文件(使用通配符方式批量提交)到暂存区 $ git add *.html 添加指定目录到暂存区 $ git add [dir] 添加当前目录下的所有存在更改文件到暂存区 (包括提交新文件(new
包括创建桌面快捷方式、Git Bash、Git GUi、已经目录和后缀关联等; 在“Adjusting your PATH environment”选项中,默认即可。...git diff 虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。...在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件; 如果已经有了,可直接跳到下一步。...如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件; 这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,...由于远程库是空的,我们第一次推送master分支时,加上了-u参数; Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来
一般情况下不建议修改 git 仓库的历史。 但是现在我计划开源我的一个项目,于是自己个人使用的姓名和邮箱就需要在开源的时候改为使用我公开的姓名和邮箱。...---- 我打算将整个 Git 仓库历史中的名称和邮箱。 第一步:打开 Git Bash 进入本地的 Git 仓库目录,然后打开 Git Bash。...将以上修改后的命令粘贴到 Git Bash 中,然后按下回车键执行命令: 等待命令执行结束,你就能看到你的仓库中所有的分支(Branches)、所有的标签(Tags)中的旧作者信息全部被替换为了新作者信息了...使用以下命令推送所有的分支和所有的标签。...使用以下命令推送所有的分支和所有的标签。
在开发时,你会把 需要的 项目文件添加到 已经 git init 的 文件夹中,把这个项目提交到 git 仓库,但是你在 提交到 暂存区时,发现 代码有点问题,花了两秒 改了一下,这时,不需要产生版本快照...: git ls-files 2、恢复成暂存区的文件内容: 恢复成暂存区的文件内容 : git restore 目标文件在根目录下路径 3、移除暂存区中的某个文件 移除暂存区中的某个文件...根目录下 哪里,都会被找到忽略 ,并且文件名变暗 8、Git 分支 概念:本质上是指向提交节点的可变指针,默认名字是 master 注意:HEAD 指针影响工作区/暂存区的代码状态 提示...:如下图,我们创建 content分支 开发别的业务,但是我们还想修bug,不影响 content分支 ,这时,我们切换回到 master分支,再创建 login-bug分支 来修bug,这样互不影响了...git branch -d login-bug 10、分支-合并冲突 概念:不同分支中,对同一个文件的同一部分修改,Git 无法干净的合并,产生合并冲突 假设: 1、基于 master 新建
项目开发的过程中,我们可能会遇到bug,这时候需要紧急修复。通常,我们都是新建一个bug分支。但是这时候,你当前工作的分支可能并不能提交(你的东西没写完,无法提交,现在还编译不过去。)。...那么如何创建并切换分支? Git提供了stash功能。即: git stash 场景是这样的,你修改了README文件。然后git add,这时候bug来了,需要修复。...那么执行git stash命令。 ? 然后,找到bug所在的分支,一般应该是master分支。那么这时候你切换到master分支。...之后你需要切回dev分支继续开发。这时候需要使用git stash list命令来查看。 ? 但是如何恢复现场呢。有两种做法。...git stash apply stash@{0} 当然了,不建议这么做,因为这不太好,bug来了就及时修复,修完一个bug接着修下一个,不能说是上一个没修完,又去修复下一个bug。
领取专属 10元无门槛券
手把手带您无忧上云