Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如果修改git存储库的命令崩溃或中止,git存储库会被破坏吗?

如果修改git存储库的命令崩溃或中止,git存储库会被破坏吗?
EN

Stack Overflow用户
提问于 2011-12-05 10:45:04
回答 1查看 892关注 0票数 14

在使用git时,我有时会尝试一些东西,然后中止耗时太长的命令(例如,一些在网络问题期间挂起的git svn命令)。这让我开始思考:

强制中止命令(Ctrl-C或kill)总是安全的吗?如果命令崩溃(内存不足、bug、网络/文件系统问题)怎么办?在未完成的更改被“回滚”的意义上,存储库更改是“事务性的”吗(就像在版本控制文件系统中一样)?或者,在这种情况下,我要冒存储库损坏的风险吗?

我相信从事git工作的聪明人一定已经考虑到了这一点,但我在git手册或在线上找不到任何信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-05 11:06:51

存储库是完全事务性的,是的。

工作树几乎是事务性的,但是有一个很难处理的情况。Checkout执行所有必要的检查,并将新内容写入临时文件,在此期间,如果您中断它,则不会修改任何内容。但是,它会一个接一个地将文件重命名到树中,最后更新HEAD ref,在此阶段的中断可能会使您对树进行部分更改。没有允许以原子方式执行该操作的质量重命名。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8384101

复制
相关文章
Rails存储库从SVN转向Git
在Ruby on Rails 2.1版本发布的前夕,Rails开发团队也准备将代码的存储库从Subversion迁移到Git之上。在Ruby on Rails的官方博客里,DHH写到: 我们准备将Rails开发的代码存储库从Subversion迁移到Git之上,迁移过程将会在近期内完成。并且会使用Github来帮助开发者进行协作。在版本存储库迁移的同时,我们也会将问题跟踪系统转移到基于Rails开发的Lighthouse应用之上,于是到目前为止,我们的存储库和问题跟踪系统都是使用的Rails应用,这对我们
用户1172164
2018/01/16
1.4K0
如何安装Git并克隆GitHub存储库
GitHub是一个允许开发人员使用Git版本控制系统进行协作的网站。通过Git和GitHub,来自世界各地的程序员可以在有组织的最新流程中分享想法和代码。
Techeek
2018/09/13
4K0
如何安装Git并克隆GitHub存储库
Git连接远程仓库显示找不到存储库
今天在公司上传部分代码到GitHub远程库,结果无法push,Git报错信息显示找不到存储库 $ git push origin master ERROR: Repository not found. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 报错信息显示无法从远程库读取 需要保证我有正确的访问权限
框架师
2021/03/05
3.9K0
【Git】Git 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )
Git 版本库概念 : Git 版本库 Repository 又称为 Git 仓库 , 在系统中的表现就是一个 " 文件目录 " , Git 可以管理 该目录中的所有文件的 增加 , 修改 , 删除 操作 , 并可以追踪每个文件的历史 , 可以还原出任意时间节点的文件 ;
韩曙亮
2023/03/30
6700
【Git】Git 基础命令 ( Git 版本库概念 | 创建版本库 git init | 克隆版本库 git clone )
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )
个新文件 , 使用 git add 命令 , 可以将文件添加 " 暂存区 " ;
韩曙亮
2023/03/30
1.6K0
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )
存储崩溃MySQL数据库恢复案例
RAID5磁盘阵列,由于未知的原因导致存储忽然崩溃无法启动,RAID5阵列中的虚拟机全部丢失,其中3台虚拟机为重要数据,需要主要针对该3台虚拟机进行数据恢复。
北亚数据安全与救援
2021/10/22
4.7K0
g4e基础篇#4 了解Git存储库
Git 存储库看上去就是一个文件夹,只是在这个文件夹中不仅仅保存了所有文件的当前版本,也同时保存了所有的历史记录,这些额外的信息都保存在当前文件夹下面的.git子目录中。因为前面我们所描述的git跟踪改动的特殊方式 ,git可以在很小的开销下保留非常复杂的历史记录,同时也由于这种跟踪方式,使得git可以通过改变链接指向的方式随时切换当前目录中任何文件的版本,从而实现了在同一套文件系统上切换分支的功能。 虽然git是分布式版本控制系统(DVCS),但是在企业开发中,我们仍然需要一个中心git存储库以便不同的团
企鹅号小编
2018/02/06
1.1K0
g4e基础篇#4 了解Git存储库
Git内部存储原理
Git是程序员工作中使用频率非常高的工具,要提高日常的工作效率,就需要熟练掌握Git的使用方法。相对于传统的版本控制系统而言,Git更为强大和灵活,其各种命令和命令参数也非常多,如果不了解Git的内部原理,要把Git使用得顺手的话非常困难。本文将用一个具体的例子来帮助理解Git的内部存储原理,加深对Git的理解,从掌握各种Git命令,以在使用Git进行工作时得心应手。
赵化冰
2022/08/01
7340
Git 对象存储结构分析
1. 前言 Git-Internals-Git-Objects | 从该文中可以了解到git 对象有:blob (数据块), tree (目录树), commit (提交)。 本文通过一个示例,以blob为例来讨论对象的存储结构。示例采用的git版本为2.17 。 2. 实践讨论 2.1. 生成Blob对象文件 首先创建一个测试git仓库 $ mkdir hello $ cd hello $ git init 然后通过创建一个文件 test,test的内容为 "hello", 可以看到test文件的字节
囚兔
2018/05/30
5110
如何将您的Git存储库备份到腾讯云COS
依赖源代码存储库进行版本控制是一种最佳的方法,当代码更改导致应用程序崩溃或行为不正常时,可以恢复运行。但是,如果发生诸如不小心删除分支或无法访问存储库等严重性事件,我们应该利用其他更高级恢复策略。
水门
2018/08/13
4.6K0
使用 Git 存储大文件
当在 Git 仓库中存储大的二进制文件时(>50MB),比如 R 里面的 RData 或 RDS 文件,默认的 git 提交方式无法获取二进制文件的修改,会让仓库越来越大。在这种情况下,将仓库 push 到远程会出现警告。
王诗翔呀
2022/01/21
3K0
使用 Git 存储大文件
如何存储 Git 大文件?
作者:terryshchen,腾讯 IEG 应用开发工程师 本文主要讲解在 Git 仓库中如何管理大的二进制文件,详细介绍了什么是 Git LFS,Git LFS 是如何工作的,以及如何使用 Git LFS。 本文翻译自 Atlassian 官方介绍 Git LFS 的文章,Atlassian 是 Git LFS 的主要开发者之一,这篇介绍 Git LFS 的文章比较权威,讲的也很详细。原文地址: https://www.atlassian.com/git/tutorials/git-lfs 本
腾讯技术工程官方号
2020/06/09
3.6K0
Git 对象存储结构分析
Git 对象有:blob (数据块), tree (目录树), commit (提交), tag (标签)。
囚兔
2018/04/21
3.1K2
Git 对象存储结构分析
Git 大文件存储 lfs
Git LFS(Large File Storage, 大文件存储)是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持。
为为为什么
2022/08/09
2.1K0
7.14 Git 工具 - 凭证存储
如果你使用的是 SSH 方式连接远端,并且设置了一个没有口令的密钥,这样就可以在不输入用户名和密码的情况下安全地传输数据。 然而,这对 HTTP 协议来说是不可能的 —— 每一个连接都是需要用户名和密码的。 这在使用双重认证的情况下会更麻烦,因为你需要输入一个随机生成并且毫无规律的 token 作为密码。
shaonbean
2019/05/26
9730
GIT ---- GIT 同步远程库操作
1. 查看分支 1.1 git branch 查看本地分支! 1.2 git branch -a 查看本地和远程所有分支! 1.3 git branch -r 查看远程库分支! 2.同步远程分支 2.1 git fetch 将本地分支与远程保持同步 2.2 git checkout -b 本地分支名 origin/远程分支名 拉取远程分支并同时创建对应的本地分支 2.3 git fetch --all 将本地所有分支与远程保持同步 2.4 git pull --all
Rattenking
2021/09/07
4340
修改Mysql数据库的数据存储位置
关键词: Mysql数据存储位置 | win10 + MySQL Server 8.0 | 环境:win10 + MySQL Server 8.0.15` | 修改数据存储位置
诡途
2020/10/16
4.2K0
Git删除暂存区或版本库中的文件
Git有三大区(工作区、暂存区、版本库)以及几个状态(untracked、unstaged、uncommited),下面只是简述下Git的大概工作流程,详细的可以参见其他有关Git的文章。
程序员小明
2019/05/31
3.9K0
数据库的存储过程_数据库的存储过程语句
  2.对于存储过程来说可以返回参数(output),而函数只能返回值或者表对象。
全栈程序员站长
2022/09/21
3.9K0
数据库的存储过程_数据库的存储过程语句
Git汇总--对象及版本库存储
git init 会创建一个 .git 目录。这个目录包含了几乎所有 Git 存储和操作的对象。 如若想备份或复制一个版本库,只需把这个目录拷贝至另一处即可。
奋飛
2019/08/14
3960

相似问题

Git存储库突然崩溃

12

崩溃git存储库的历史

48

Git存储库中的Git存储库

50

GIT存储库拉命令

21

本地git存储库路径的git命令

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文