我应该在项目源文件夹中创建Git仓库还是在上一级目录中创建?

6
我应该在项目源文件夹内还是上层目录创建Git仓库?
例如:
方法1
.git
project
project\foo.c
project\bar.c

方法二(在项目文件夹下)
.git 
foo.c
bar.c
4个回答

4
版本控制的目标是从项目的任何历史状态中恢复出一个操作状态,能够重现你使用该项目时的情况。因此,如果你可以复制一个特定的目录并且仍然可以获得完全功能的项目(无论该项目是什么),请使用该目录创建你的 .git

+1 是因为你试图在其中加入一些推理。有时候需要将项目分解成单独的存储库,但我会把这个留到另一天;让 OP 多学一点 :) - sehe
1
@sehe: 你是指“系统方法”与“组件方法”(使用git子模块)吗?(http://stackoverflow.com/questions/769941)没错,这是针对第二层的;请参见http://stackoverflow.com/questions/2897157作为介绍,http://stackoverflow.com/questions/933735作为一般背景,或者http://stackoverflow.com/questions/3245224作为更具体的例子。 - VonC

1

第二个。然而,有些人更喜欢将源代码放在src目录中。当您的项目变得更加复杂并且必须包含文档、测试时(您会将它们放在项目目录中,紧挨着src)这是非常有用的。


1
为什么我的git存储在src/文件夹的上级目录中?
1)我想在我的repo中包含一些重要的文件,这些文件不属于src/。这包括我的git repo的README.md文件、许可证文件、任何支持项目文档等。
2)将支持文件和我的src文件夹保留在git根级别使用户更容易快速查看我的源代码(显然在src中),而不是支持文档和文件夹。否则他们必须寻找和猜测。
3)我经常使用控制台手动编译和执行代码(因为我是个nerd),以及管理git。当我的工作文件夹是src/的父文件夹时,我发现这样做更容易(因为我需要更少的路径相关选项)。但是,如果我的git在src/中,我就必须更改工作目录才能运行我的git命令。
4)我经常保留我的项目的docker实例,并不断地进行调整。Docker文件位于源代码的上级目录中,因此可以减少输入路径相关选项的次数。
为什么我的git有时(但很少)存储在src/中?
1)当一个repo只包含代码而没有其他内容时(通常用作参考),src文件夹只会增加阻力而不增加价值。

2) 当源代码的父文件夹非常混乱,或者你发现.gitignore你的IDE项目文件和执行文件夹太麻烦时。我的文件夹从来不会乱,而且.gitgnore也不难,所以理由(1)基本上是我唯一的理由。

没有错误的方法,正确的方法只是适合你的风格或项目需求。


0

你应该将 Git 仓库放在最深的可能级别,即包含你想要用 Git 管理的文件和目录的父级目录。

因此,在你的例子中,应该选择方法 2。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接