是否所有版本控制信息都包含在.git文件夹中?如果我保留这个文件夹,我能做什么?
我正在尝试使用是否所有版本控制信息都包含在.git文件夹中?如果我保留这个文件夹,我能做什么?,git,version-control,Git,Version Control,我正在尝试使用git跟踪软件配置文件的实验。该软件在多个纯文本(XML)文件(它是Freeswitch)中包含整个配置 我已经安装了软件,然后用git init,git add-A和git commit将其配置放在git下。后来我做了几次git add-A和git commit,标记了我所做的一些更改 然后我将.git目录保存在安全的地方,并完全重新安装软件。有时是同一版本(同一配置文件结构),有时是另一版本 我可以将.git目录放回原位吗?我可以执行以下操作: 1) 是否将旧配置(当前位于.g
git
跟踪软件配置文件的实验。该软件在多个纯文本(XML)文件(它是Freeswitch)中包含整个配置
我已经安装了软件,然后用git init
,git add-A
和git commit
将其配置放在git
下。后来我做了几次git add-A
和git commit
,标记了我所做的一些更改
然后我将.git
目录保存在安全的地方,并完全重新安装软件。有时是同一版本(同一配置文件结构),有时是另一版本
我可以将.git
目录放回原位吗?我可以执行以下操作:
1) 是否将旧配置(当前位于.git
中)作为分支,然后将新配置(当前)作为新分支
2) 修改我在旧配置中以文本方式所做的所有更改,检查它们是否适用于新配置,并逐个应用它们?整个git存储库存储在
.git
文件夹中。工作目录中发生的事情根本不重要。即使您删除了所有内容,您仍然可以通过运行git checkout
返回您提交给git的任何修订
我认为你几乎可以做任何你想做的事情:
git cherry pick
将它们逐个应用于新配置的分支default -> change1 -> change2 -> change3 -> change4 (oldconfig)
\
-> change1 --> change4 -> change5 (newconfig)
在这里,我假设在添加新的
change5
之前,从oldconfig
分支选择change1
和change4
,以及如何创建分支,使配置文件保持完整?许多示例都需要签出,签出意味着替换所有工作文件,对吗?看看这个问题:如果您对default
commit执行此操作,您应该能够从那里启动newconfig
分支。