对于IC设计类,我需要将VNC转换为Linux服务器来访问工具并设计电路和测试台。最初我只有一个存储库,我正在推动一切,但我们已经开始分组项目,并且在每个人之间分配设计的最佳方式似乎是通过Git。我需要一种方法将我的类目录分成两个独立的存储库。
class
├── Lib
| ├── inverter
| ├── nand2
| ├── nor2
| └── proj
└── LibTest
├── inverter
├── nand2
├── nor2
└── proj
class
├── Lib
| └── proj
└── LibTest
└── proj
class
├── Lib
| ├── inverter
| ├── nand2
| └── nor2
└── LibTest
├── inverter
├── nand2
└── nor2
除非我在class
目录中拥有主存储库并为Lib\proj
和\LibTest\proj
创建两个单独的存储库,否则我无法找到实现此目的的方法,但我会如果将两个项目目录捆绑在一起,就好像它们位于同一个存储库中一样。
2016-12-02 02:10 PM CST
好的,我在课堂上设置了两个单独的git存储库,并将它们重命名为.gitproj
& .gitlab
。
git init
mv .git .gitlab
git init
mv .git .gitproj
然后我修改了/info/exclude
文件以排除这些目录并隔离实验室仓库中的实验室目录和proj仓库中的proj目录。
# Ignore git directories
.git*
!.gitignore
# Ignore project directories
Lib/proj
LibTest/proj
# Ignore git directories
.git*
!.gitignore
# Ignore everything under Lib and LibTest
Lib/*
LibTest/*
# Unignore proj directories
!Lib/proj
!LibTest/proj
最后,我在.bashrc文件中添加了别名。使用Git-Bash for Windows,它是/etc/bash.bashrc
文件。
alias gitl='git --git-dir=.gitlab'
alias gitp='git --git-dir=.gitproj'
答案 0 :(得分:0)
通常,当您运行存储库操作时,git会对git进程目录的.git
子目录执行查找。因此,将.git
目录放在class
目录下的任何位置并不适合您。
但是有一种方法可以告诉git在文件系统的任何地方使用自定义.git
目录,并通过环境变量GIT_DIR
传递它的路径。
所以我会这样做:
root
。创建两个存储库,例如root/Project
和root/Lab
以及您的来源root/class
。到目前为止,有root/Project/.git
和root/Lab/.git
,但在.git
root/class
子目录
为项目存储库文件设置GIT_DIR=<path-to-root>/Project git add <file>
。然后提交GIT_DIR=<path-to-root>/Project git commit -m "Initialise Project repo"
为Labs存储库文件设置GIT_DIR=<path-to-root>/Lab git add <file>
并以相同方式提交。
每次调用git时,总是必须提供正确的GIT_DIR
变量。
记住哪个repo文件属于哪个但是你想要的东西有点棘手:)