首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SourceTree永久本地丢弃

基础概念

SourceTree是一款流行的Git和Mercurial版本控制系统客户端,它提供了一个图形化的界面,使得开发者可以更方便地进行代码的版本管理。在SourceTree中,“永久本地丢弃”指的是将本地的某个提交或更改永久删除,并且不会将其保留在任何分支或历史记录中。

相关优势

  • 简化操作:通过图形界面,用户可以直观地看到提交历史和文件更改,从而更容易地进行丢弃操作。
  • 减少误操作:相比于命令行,图形界面可以减少因输入错误导致的误删除。
  • 提高效率:快速定位并处理不需要的提交或更改,节省时间。

类型

  • 单个文件丢弃:删除某个特定文件的更改。
  • 整个提交丢弃:删除一个完整的提交及其包含的所有更改。
  • 分支丢弃:删除整个分支及其所有提交。

应用场景

  • 清理无用代码:当开发者发现某些代码不再需要时,可以使用此功能将其永久删除。
  • 修复错误提交:如果某个提交引入了严重的错误,可以通过丢弃该提交来撤销更改。
  • 优化仓库大小:删除不再需要的历史记录可以减小仓库的体积,提高性能。

遇到的问题及原因

问题:为什么SourceTree永久本地丢弃后,文件还在?

原因

  1. 未正确执行丢弃操作:可能只是选择了丢弃,但没有真正确认执行。
  2. 缓存问题:操作系统或SourceTree的缓存可能导致文件看起来仍然存在。
  3. 其他分支引用:如果其他分支引用了被丢弃的提交,那么这些更改可能仍然存在。

解决方法

  1. 确认丢弃操作
    • 在SourceTree中,确保已经选择了正确的提交或文件,并点击“永久丢弃”按钮。
    • 确认弹出的警告框,确保理解丢弃操作的后果。
  • 刷新仓库
    • 在SourceTree中,右键点击仓库,选择“刷新”或“重新扫描”。
    • 在命令行中,使用git gc命令来清理和优化仓库。
  • 检查其他分支
    • 确保没有其他分支引用了被丢弃的提交。
    • 使用git branch --contains <commit-hash>命令检查哪些分支包含了该提交。
  • 手动删除
    • 如果上述方法都不奏效,可以手动删除文件或提交。
    • 在命令行中,使用git rm <file>删除文件,或使用git reset --hard <commit-hash>重置到某个提交。

示例代码

代码语言:txt
复制
# 删除单个文件
git rm path/to/file

# 永久丢弃某个提交
git reset --hard HEAD~1

# 清理仓库
git gc

参考链接

通过以上步骤,你应该能够成功地在SourceTree中永久丢弃本地文件或提交,并解决相关问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • SourceTree使用详解(连接远程仓库,克隆,拉取,提交,推送,新建切换合并分支,冲突解决)

    3.将暂存区中的代码提交到本地代码仓库: 注意:多人同时开发项目的时候,不推荐默认选中立即推送变更到origin/develop,避免一些不必要的麻烦! ?...4.代码拉取更新本地代码库,并将代码推送到远程仓库: ? 代码成功推送到远程代码库: ? 5.在Gitee中查看推送结果: ?...Sourcetree中的基本名词说明: 克隆/新建(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库。 提交(commit):将暂存区文件上传到本地代码仓库。...获取(fetch):从远程仓库获取信息并同步至本地仓库。 分支(branch):创建/修改/删除分枝。...丢弃(Discard):丢弃更改,恢复文件改动/重置所有改动,即将已暂存的文件丢回未暂存的文件。 标签(tag):给项目增添标签。

    24.9K52

    快试试Sourcetree

    ,我们可以直接选中那2行,然后点击上方的丢弃行。...需要注意的是,丢弃不等于删除,丢弃所丢的东西是那一行的变更,比如是+号,那么丢掉代表不增加这一行,减号-同理丢的是不删除这一行,也就是恢复这一行。...sourcetree会把所有的变更以区块来分组,所以如果是整个区块的变更都没有意义,可直接丢弃整个块,如图: 随后暂存所选提交(文件栏)。...暂存代码 暂存和丢弃类似,是将代码片段暂存到本地暂存区 以备提交,提交时所提交的代码就是暂存区的代码。...如果远程和本地都有问题,建议打开ide工具编辑后提交。 新开分支 在项目中,我们可能分为开发分支、集成分支、生成环境分支等,这时我们只需要在某个节点上右键选择分支即可。

    1.8K40

    SourceTree使用技巧

    一 、SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。...克隆 点击克隆按钮,克隆项目: 既可以是本地已有的git项目,也可以是远程目录中的项目, ? 本地存在的git项目, 获取项目克隆地址,点击克隆按钮,如图所示: ?...基本步骤 提交、拉取和推送 提交: 项目提交是为了维护本地版本库,如果本地有未提交的内容,则不允许拉取和推送;如图所示区域有内容时,则代表本地未提交的内容: ?...点击Stage All,填写提交信息既可以将本地内容(暂存区)提交到本地版本库,如图所示: ? 1、将未暂存的文件进行暂存,如果有些文件不需要暂存,则可以进行删除,选中文件,右键“移除”即可。...暂存行:表示保留该内容 丢弃行:表示删除该内容 备注:区分于第一种方式,使用第一种方法解决时,不要点击”未暂存文件”,否则可能无法打开冲突文件 版本回退 原则上,代码推送之前要保证本地的代码可运行,不要将不可运行或者有问题的代码推送到服务器上

    3.6K10

    Bison教你怎么让百度收录你的Github空间博客--转自Bison的技术博客

    今天我们在此就讲点新鲜的,通俗易懂的东西,丢弃终端git使用 git可视化工具SourceTree来操作,简单易懂,又方便后期维护 mac版的可以到APP Store下载,下载完我们打开软件添加一个库...(gitcafe03) 更多经验请点击 然后我们把先前创建的仓库clone到本地本地建一个文件夹GitcafePages,名字随意。...如下图 (gitcafe05) 接下来我们把先前从Github博客中的文件全部拷进该文件夹,然后我们在SourceTree上创建一个 分支gitcafe-pages具体如下图 (gitcafe06...gitcafe08) 这样设置的好处就是国外和国内访问该网站的时候网速都非常都快,而被百度收录也就理所当然了 不信邪的朋友欢迎百度搜索 “Bison的技术博客” 以后维护博客也可以一直用这个工具SourceTree

    79510

    让Git不再难学

    GitTest.md no changes added to commit (use "git add" and/or "git commit -a") 使用git checkout -- file命令就会丢弃工作区的修改...查看提交历史记录; 7.git reset -------回到上一版本; 8.git reflog -------查看命令历史记录; 9.git checkout -------丢弃工作区的修改...; 10.git rm -------删除文件; 二.SourceTree的使用 使用SourceTree客户端来执行上述与本地仓库相关的操作。...安装并打开SourceTree: ? SourceTree 选择本地按钮,后点击新仓库,选择创建本地仓库,填入自己的地址,点击创建就OK了(是不是很方便?): ? 创建流程1 ?...使用git clone命令将远程库克隆到本地: Mac-Pro:~ kys-1$ git clone yourLocalGitAddress1 在SourceTree下克隆远程仓库到本地的操作: ?

    83830

    SourceTree 基本介绍

    如果既想创建私有又想要激情,那只能自己搭建私有仓库了(百度去吧~) Git的客户端: http://www.cnblogs.com/TianFang/p/3348176.html,请参考这篇文章 这里只对本人用的SourceTree...克隆/新建:创建一个新仓库,或者从服务器克隆,或者加载本地已经有的 提交:git命令的commit,上传到本地仓库 检出:checkout,其实就是切换,切换不同分支,切换一个分支的不同版本 丢弃:回到最近一次...暂存:git stash,手头工作没有完成的时候,保存一下现场 添加:add,把工作区的修改添加到暂缓区 获取和拉取:git fetch和git pull,获取是从远端获取最新版本到本地,但是不会自动合并...推送:push,本地数据库的更新上传到远端。 分支:创建或者删除分支。

    1.9K50

    Java SpringBoot本地上传文件到resources目录永久保存下载的最佳实践

    需求背景:Java后端项目上传文件是一个很常见的需求,一般正式项目中我们上传文件都是利用第三方阿里云OSS这类的,但是如果只是为了学习之用,那我们可能就会直接上传到电脑上某个本地文件夹。...仔细一想我们项目不是有一个叫 resources 用来存放静态资源的目录吗,这个目录正常也会提交到代码仓库进行管理的,那我们每次上传的文件不就可以一块提交到仓库里,这部就实现了永久保存。...最后一合计,那我把resources和target结合一下,将文件同时保存到这两个目录下,是不是就可以实现永久保存和实时访问了呢。...// 获取当前运行目录 targetPath =newFile(""); } // 开发环境 resources 目录:可永久保存...filename.substring(filename.lastIndexOf(".")); // 之所以保存到 resources 和 target 两个目录,兼顾开发测试和永久保存

    1.4K30

    图解GitHub和SourceTree 入门教程 使用教程

    sourceTree配合高级的命令行,可以很方便快速的应用到项目中。...–>现在要在本地clone出远程的项目,在github上点击刚才创建的项目,进行项目详情,在右下角有一块信息,复制https连接,如下图 –>在本地随便一个目录下,输入以下命令,git clone https...,如下图 –>在我们提交到本地repo前,我们先在sourcetree中设置一下通用information,当commit到本地时,这个infomation会当做通用的提交信息,点击tool->options...,在full name和email address中输入你的github账号信息,如下图 –>返回到我们刚才那一点,在Staged files中选择要提交到本地仓库的文件后,点击sourcetree左上角的...intellij ide操作如下图: –>sourcetree左边栏的Branches,可以随便删除,再重新从Remotes中选择你要check out的分支,clone到本地仓库。

    91720

    Sourcetree 使用 Git flow

    Sourcetree 建立修复补丁(git flow hotfix start click-log) Sourcetree Sourcetree 假如线上的点击日志出了问题, 我们需要紧急修复...本地分支track上述远程分支。...如果本地有未push代码,则执行push release publish略有不同, 可查看https://www.git-tower.com 要不要推送到远程 如果这个feature需要多人一同开发,...则需要推送 如果你一个人完成, 不需要推送 合并问题 多人协作的时候,应由仓库(项目)管理员来创建master分支并在本地初始化好GitFlow后一并将master和develop分支推送到远程仓库(...其他协作者在本地完成feature开发,然后推送到develop分支,由项目管理员来负责发布release分支和发布新版本 参考 Gitflow 使用最强指北 git flow工作流及sourcetree

    37410

    Sourcetree安装教程及使用

    1 Sourcetree介绍 Sourcetree是一款免费的Git图形化客户端,它由Atlassian开发,提供了跨平台的支持,可运行在Windows和Mac操作系统上。...4 基本使用教程 4.1 创建一个本地仓库 1)在本地创建一个仓库 2)在github上面同样也创建一个远程仓库 3)设置本地仓库,使之关联到远程仓库 如果使用ssh协议就在 url/路径里面填写...4)我们在本地仓库中新建一个main.cpp文件,返回Sourcetree出现了未暂存文件; 5)暂存所有文件或部分文件,填入相应的commit信息,并提交修改; 6)完成之后,我们通过推送按钮将修改推送到远端...; 7)首次进行推送,可能需要验证账户,按下面的操作即可; 8)提交成功之后,我们就可以在github远端出现修改的文件; 4.2 添加一个本地仓库 添加一个本地仓库还是相对容易一些 4.3...克隆一个远程仓库 1)复制远程仓库的路径地址; 2)添加之后,软件会主动去检查路径是否合法,填写克隆到本地的信息之后点击克隆即可. 4.4 SourceTree设置默认工作目录 由上面我们可以发现每次

    35610

    【转载,实测好用】gitlab结合sourcetree使用

    从GitHub或gitlab发回来的用公钥加密过的数据,可以用你本地的私钥来还原。如果key丢失,不管是公钥还是私钥,丢失哪一个都不能用,需要重新生成一次然后在gitlab账户中再设置一次就可以了。...=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)在命令行中输入以下命令生成gitlab服务端和本地...我们要用到sourcetree来下载代码到本地还要对sourcetree来进行设置。...1 2 3 4 Sourcetree设置 打开sourcetree工具,选择工具->选项->一般->SSH客户端:选中OpenSSH(见下图所示),之所以要选择OpenSSH是因为,如果不进行选择的话clone...使用sourcetree拉取代码到本地 sourcetree ->克隆/新建 ?

    2.1K20

    git 工作流中的 Sourcetree 和命令行操作对比

    git 工作流操作 1、初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2、git 查看仓库状态 这里以新建一个 demo.txt 为例 ① sourcetree...直接在工作区中打勾已修改的文件即可 打勾后文件会自动从工作区移至暂存区 ② 命令行操作 - 添加到暂存区 git add 文件名 添加完可以通过 git status 查看仓库状态 4、git 将暂存区的文件提交到本地仓库...① sourcetree 的操作:直接选择暂存区的文件点击左上角的提交,输入描述即可 ② 命令行操作 - 提交 git commit -m "描述" 添加完可以通过 git status 查看仓库状态...5、git 创建标签 ① sourcetree 的操作:在侧边栏右键选择新建标签,输入名称并添加 ② 命令行操作 - 创建标签 git tag v1.0 6、git 重置临时修改未提交的部分 这里以在...commit 版本号(即 commit 后面的那串字符),输入 git reset --hard 版本号 此时本地仓库已经回到该版本啦,而且工作区也是干净的 另外,如果要删除本地文件,可以执行 git

    1.4K20

    十分钟搞定SourceTree安装使用

    下载位置: 链接: https://pan.baidu.com/s/1sluTAG1 密码: qexi SourceTree跳过Atlassian账号,免登陆,跳过初始设置 SourceTree...装之后,转到用户本地文件夹下的 SourceTree 目录,找到accounts.json 文件,没有则新建。...C:\Users\Administrator\AppData\Local\Atlassian\SourceTree 输入以下内容保存即可 现在再打开 SourceTree,直接显示主窗口了。...选择第一个 完成后选择我不想使用mercurial后显示界面 这样我们的Sourcetree就安装完成了。 克隆一个远程库到本地。...第二个填写本地的仓库的位置。填写完之后点击克隆。克隆的过程中会弹出三次窗口,第一次是远程仓库的管理员名称,第二次管理密码。第三次确定管理密码。 克隆成功之后对文件更改一下。

    12.9K60
    领券