Two identical git repositories -


We are using GIT for the source code of our project working in a large team. Now half of the developers are going for the on-site phase of the project. This phase will involve huge development, i.e. many people leaving behind the second half and will continue to work on the code.

Unfortunately on the site there will be only intermittent and unreliable internet connection. Still it is important that the site-site team is able to synchronize their changes between each other (commit / push / pull). But it is also important that the changes made to the "central" GIT repository are available by the rest of the team in the office.

So I'm looking for a setup that will allow the site to work efficiently to use GIT on the site, even if the Internet is down for a long time, but also to synchronize Be able to be in office when the internet is available.

Is that an easy and stupid to do this?

My first idea: to work as a "server", take a netbook and have a small clone of the repository. After this, its origins on the on-site team networks change and pull and move from the netbook. But synchronization for the main repository is causing me some trouble. GIT pushing on the netbook works fine, but a git fetch does not return to me the changes made on the main repo. In addition, I am worried that if a file has been changed on both files and there is a conflict - I think that someone will need to commit to it before solving the struggle to work on the netbook and sync ?

Your setup should work, so I'm not sure what's wrong with fetching. However, when it comes to resolving conflicts with your company's central repo, it should be done locally : Whenever there is an internet connection, get a developer from a central repo May be able to merge, and resolve the dispute with your computer, and push the results for both central repo and onsite repo. I believe that no one should work directly on a repository which is being used as a server (and if it is an unrivaled store, which should be it, then you can not work directly Because there is no work copy). It also saves you from installing the development environment on the onsite server.

In addition, onsite developers should not replace original with onsite repositories; Rather, they should add a new remote with git remote add , and call it eg onsite . Then, whenever someone wants to bridge , push or fetch, someone can choose whether the company's central repo or onsite repo Whether to use

Comments