在Windows服务器上使用中央存储库设置GIT

时间:2018-12-13 20:55:37

标签: git delphi

已经读了很多关于如何设置GIT(也被认为是其他VCS的)的文章,但是我仍然很难确定如何针对我的情况进行操作。

我是单个开发人员,在Windows下的Delphi中从事多个项目。我有两台要开发的PC(台式机和笔记本电脑)和一台Windows 2016服务器。理想情况下,我想在服务器上拥有中央存储库,然后从/向任何一台开发PC推/拉(好像有两个开发人员)。

服务器上远程存储库的目的是要在我的日常备份中包含一个位置。

我遇到了这个article,这似乎是一种非常简单明了的方法。但是,它仍然给我带来一些问题:

  1. 这种方法是否仍然需要我在服务器上安装GIT?
  2. 一旦所有存储库都推送到服务器上的位置,备份此文件夹是否足以对项目进行完整备份?
  3. 是否有一种简单的方法可以从GIT中排除“不需要的” Delphi文件(例如* .dcu)?
  4. 我有一个(顶层)文件夹,其中包含每个项目的子文件夹。此外,还有一些子文件夹,其中包含项目之间共享的文件(Delphi单元)。这些文件是否应该从项目存储库中排除并包含在其自己的存储库中?有推荐的方法吗?

希望在一个帖子中有多个(相关)问题是可以接受的。对于此设置的任何指导或指向适用于/有用的资源的链接,将不胜感激。

1 个答案:

答案 0 :(得分:1)

您在提供的链接中使用了Windows文件共享,而您的中央存储库只是文件共享上的文件夹(例如\\server\repos)。因此,就像在本地计算机上使用存储库一样。但是我不知道git和smb协议如何协同工作。在同时访问存储库时,您可能会遇到问题。

  1. ...在服务器上安装GIT ?否

您只需在git-bash中从一个客户端执行以下操作即可在服务器上创建裸存储库(假设您在服务器上的共享称为repos)。

$ cd //server/repos
$ mkdir ProjA.git
$ git --bare init

按照惯例,裸仓库以.git结尾。

要在客户端计算机上准备项目,请创建一个合适的.gitignore文件(在https://github.com/github/gitignore上找到一个文件),启动git-bash并进入项目根文件夹

$ cd /d/Projects/ProjA
$ git init
$ git remote add origin //server/repos/ProjA.git
$ git add .
$ git commit -m "first commit"
$ git push origin master

现在,来自项目master的分支ProjA被推送到服务器上的存储库ProjA.git中。按照惯例,分支名称master是git中的默认分支。

要使用git-bash从其中一个客户端的服务器上克隆存储库,请执行以下操作:

$ git clone //server/repos/ProjA.git
  1. ...备份此文件夹是否足以对项目进行完整备份?裸仓库中存储的所有内容都将被备份。但是我不是这里的专家。

  2. ...排除“不需要的” Delphi文件?使用.gitignore。您可以在https://github.com/github/gitignore上找到一些内容。