Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You really don't want two developers sharing a working copy. There's no way to ensure safety in this case: what if both of you go to edit the same file at the same time?</p> <p><code>git</code> has plenty of tools for merge-conflict management, but <em>none</em> of them will help you if you have two devs sharing a single repository for their works-in-progress.</p> <p>Instead, set things up so that each dev has their own testing environment, where they can evaluate whether changes made to their local copy are functional. When a change is ready for "release", they push it to a central shared repository. The code in that central repository eventually makes its way out to the production environment.</p> <p>The web servers the developers use to test their changes probably don't have to be anything fancy; for example, Python has a built-in tiny web server that can be invoked via <code>python -m SimpleHTTPServer</code>. This or a similar small server is likely fine for testing HTML and Javascript projects. If you have a more complex setup, you can still stand up a "staging" copy for each developer: duplicate your database, your web server, and so on. If you want to go all out, have each dev work on a cloned virtual machine with a complete duplicate of your live environment.</p> <p>If you want a really strong guarantee that code entering the main repository is good, use a gatekeeper system like <a href="https://code.google.com/p/gerrit/" rel="nofollow">Gerrit</a> and/or an autobuilder like <a href="http://jenkins-ci.org/" rel="nofollow">Jenkins</a>. For a three-person team, it's probably sufficient to just have each dev double-check their own changes before they push them out.</p> <p>If you <strong>must</strong> share a working copy, you're going to have to fall back to an older system: CVS-style locks. Before a developer makes a change to a file, they need to "check it out". While it's "checked out", no other developer can touch it (make it read-only). Before anybody makes a commit, you yell across to your coworkers to say "hey, I'm making a commit! Nobody else do anything!". Then you do a <code>git add -i</code> or similar, make the commit and then tell everybody else it's all clear and they can proceed. <strong>This is a bad way to work</strong>. Don't do it.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload