Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The ideas to keep in mind when working with a DVCS are:</p> <ul> <li><p><em>distribution</em>: even if you have one central GitHub, the developper are not limited to publish (push) only to <em>that</em> GitHub repo. They can <strong><em><a href="http://help.github.com/forking/" rel="nofollow noreferrer">fork the repo</a></em></strong> and publish in their own version (while fetching from the official central GitHub repo -- called "<em>upstream</em>").<br> The advantage is they can rewrite history (<code>reset</code>, <code>rebase --onto</code>, <code>rebase -i</code>, ...) as many times as they want, in the end, they will make a pull request, allowing an integrator to manage their changes.</p></li> <li><p>one of <em><a href="https://stackoverflow.com/questions/1039817/git-commit-frequency/1040502#1040502">publication</a></em>: in your own local repo, you can setup as many branches as you want (not one for every file modification, of course, but one for any new task or set of tasks you need to develop).<br> But you can also set public branches that will be pushed ("published") to your remote repo.<br> See this question on <a href="https://stackoverflow.com/questions/1042400/git-releases-management/1043640#1043640">Git workflow</a>, and also JC Hamano's articles on remote branches:<br> o <a href="http://gitster.livejournal.com/30313.html" rel="nofollow noreferrer">Fun with remote branches (1)</a><br> o <a href="http://gitster.livejournal.com/30645.html" rel="nofollow noreferrer">Fun with remote branches (2)</a><br> The phrase "When people were confident with code they would commit and then merge it into the staging" should not apply with a DVCS: commit early, commit often, but push ("publish") only when you want.</p></li> </ul>
 

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