Answer the question
In order to leave comments, you need to log in
Git for a small team?
Hello!
We finally decided to implement version control in our team. Only 3 programmers.
Now we have this: there is a server in the office, on it all the developed sites. We work in Netbeans, connecting to the server via SMB. Accordingly, it is impossible for 2 programmers to work simultaneously even on one CMS module, not to mention one file.
So the question is: please tell me how best to organize work with Git? Moreover, all the work would be done with the tools built into Netbeans, although we are not afraid of the terminal either.
It seems to me that it is important to clarify: we are mainly engaged in the development of sites (corporate, online stores).
Answer the question
In order to leave comments, you need to log in
Well, for starters, you will have to raise a separate copy of the site for each developer, and on the server there is a general version where all changes will be merged and shown to the customer.
Secondly, you still need to study the principle of git on the command line - it will be easier to work through gui understanding the essence.
Thirdly, NetBeans has a git module that works well, all that remains is to set up workflow, and deploy commits to the server (there were several solutions on Habré)
. In his local copy, the developer is free to create the branches he needs and make commits, he will remain agree on which branches to merge developments on the server.
For me, the normal git-workflow in Windows seems to be a problem (I only tried Git for Windows ). But I can recommend Github for Windows as a benchmark for workflows.
And about the problem with server sharing: after learning how to use git branches, try setting up capistrano for deployment (both to local and production servers).
The actual scheme is as follows
: 1. Each developer has an account on the Web server
2. There is a Sites folder in the developer's home directory
3. The Web server uses the VirtualDocumentRoot to map requests like user.example.com to /home/user/sites/example. com is the developer's site. It is easy to close them from the outside world with http authorization
4. Developers publish their working copies through realsync and not through git - there is an article on Habré
5. There is a site devel.example.com - it deploys git from the devel branch - this is the release preparation branch, after merge changes. Deploy - hooks in the integration repository, the site itself - a working copy of the devel branch
6. There is a site example.com - it deploys git from the master branch - this is the production release branch. Deploy - hooks in the integration repository, the site itself - a working copy of the master branch
Everything works automatically, each developer works independently. Developers push their branches to the server, the manager pours into develop for testing.
6.
Separate answer so it doesn't get lost in the comments: Compiling resources for learning Git from Github , a comprehensive list of information to learn on the topic.
I don't know how it is now in NetBeans with the Git client, but at one time the SVN plugin worked terribly. Have a look at TortoiseGit code.google.com/p/tortoisegit/wiki/Screenshots
Everyone has their own repository on their computer, if there are not many features, then everyone writes to one branch and pushes it to the git server.
Do not try to work with Git at the level of intuition, be sure to read the sensible book / site / manual first (but not the HOWTO "Git in an hour", this will not give you an understanding), this will allow you to avoid a lot of problems and save a lot of time in the future.
Everyone has already said above, but I want to note once again that local copies are super convenient.
I don't understand why no one mentioned GitExtensions?!
from Windows clients - the most visual
push can be done with an IDE plugin (better - just from the console)
, but open and see the development history - only in Git Extensions!
code.google.com/p/gitextensions/downloads/list
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question