已经读了很多关于如何设置GIT(也被认为是其他VCS的)的文章,但是我仍然很难确定如何针对我的情况进行操作。
我是单个开发人员,在Windows下的Delphi中从事多个项目。我有两台要开发的PC(台式机和笔记本电脑)和一台Windows 2016服务器。理想情况下,我想在服务器上拥有中央存储库,然后从/向任何一台开发PC推/拉(好像有两个开发人员)。
服务器上远程存储库的目的是要在我的日常备份中包含一个位置。
我遇到了这个article,这似乎是一种非常简单明了的方法。但是,它仍然给我带来一些问题:
希望在一个帖子中有多个(相关)问题是可以接受的。对于此设置的任何指导或指向适用于/有用的资源的链接,将不胜感激。
答案 0 :(得分:1)
您在提供的链接中使用了Windows文件共享,而您的中央存储库只是文件共享上的文件夹(例如\\server\repos
)。因此,就像在本地计算机上使用存储库一样。但是我不知道git和smb协议如何协同工作。在同时访问存储库时,您可能会遇到问题。
您只需在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
...备份此文件夹是否足以对项目进行完整备份?裸仓库中存储的所有内容都将被备份。但是我不是这里的专家。
...排除“不需要的” Delphi文件?使用.gitignore
。您可以在https://github.com/github/gitignore上找到一些内容。