Activity Team/Git FAQ: Difference between revisions

Use proper name, except in code or URIs
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
<noinclude>{{TeamHeader|Activity Team}}</noinclude>
<noinclude>{{TeamHeader|Activity Team}}</noinclude>
: '''[[Talk:Activity Team/Git FAQ | Post new questions here]]'''.
: '''[[Talk:Activity Team/Git FAQ | Post new questions here]]'''.
==Using github (github.com)==
==Using GitHub (github.com)==
=== Help! I suddenly can't connect to GitHub! ===
=== Help! I suddenly can't connect to GitHub! ===
:Please contact to [https://github.com/contact github support], or look at [https://help.github.com/ GitHub FAQ]
:Please contact to [https://github.com/contact GitHub support], or look at [https://help.github.com/ GitHub FAQ]


=== How do I create an account on github.com? ===
=== How do I create an account on github.com? ===
Line 11: Line 11:
===How do I migrate a project to GitHub? ===
===How do I migrate a project to GitHub? ===


:Please follow the [[Activity Team/How_to_migrate_from_SugarLabs|instructions here]] to first set up your project's entry in GitHub.
:Please follow the [[Activity Team/How_to_migrate_from_Gitorious|instructions here]] to first set up your project's entry in GitHub.


=== How do I create a new project? ===
=== How do I create a new project? ===


:First set up the project in github as per above.
:First set up the project in GitHub as per above.


:Go to your project directory and type:
:Go to your project directory and type:
Line 35: Line 35:
=== How do I add an additional committer to my project? ===
=== How do I add an additional committer to my project? ===


:Go to: <nowiki>https://github.com/ignaciouy/PROJECTNAME/settings/collaboration</nowiki> . Type a username in the box and click "add collaborator"
:Go to: <nowiki>https://github.com/USERNAME/PROJECTNAME/settings/collaboration</nowiki> . Type a username in the box and click "add collaborator"


=== How do I create a fork of an existing project? ===
=== How do I create a fork of an existing project? ===
Line 58: Line 58:
  [remote "origin"]
  [remote "origin"]
     url = git@github.com:username/yourproject.git
     url = git@github.com:username/yourproject.git


=== How do I request a merge? ===
=== How do I request a merge? ===


:Go to your GitHub fork page and follow the steps of the images
:Go to your GitHub fork page and follow the steps of the images
<gallery>
 
Merge-Step1.png|Click on the Pull Request button
[[File:Merge-Step1.png]] <br />
Merge-Step2.png|You will get something like that.
Click on the Pull Request button
Merge-Step3.png|If you used another branch for changes, just change it in the image
[[File:Merge-Step2.png]]<br />
Merge-Step4.png|Click on Create Pull request
You will get something like that
Merge-Step5.png|Edit the title/description of the pull request, and click on Create pull request. Now the commiter will review it
[[File:Merge-Step3.png]]<br />
</gallery>
If you used another branch for changes, just change it in the image
[[File:Merge-Step4.png]]<br />
Click on Create Pull request
[[File:Merge-Step5.png]]<br />
Edit the title/description of the pull request, and click on Create pull request. Now the commiter will review it]]


===What is the difference between a branch and a repository?===
===What is the difference between a branch and a repository?===


When you make a clone of a project on github, it creates a "repository". You can see the list of repositories associated with a project by clicking on the Repository Tab. Branches are clones within a repository (created with git branch and accessed through git checkout). Git merge commands refer to branches, not repositories, so in order to merge a repository back into mainline, you need to pull (fetch followed by merge) it as if it were a patch.
When you make a clone of a project on GitHub, it creates a "repository". You can see the list of repositories associated with a project by clicking on the Repository Tab. Branches are clones within a repository (created with git branch and accessed through git checkout). Git merge commands refer to branches, not repositories, so in order to merge a repository back into mainline, you need to pull (fetch followed by merge) it as if it were a patch.


  git merge [your repository name]  # This won't work
  git merge [your repository name]  # This won't work
Line 89: Line 94:
  git rebase master
  git rebase master


===How do I push my branch to github?===
===How do I push my branch to GitHub?===


Use <code>git push origin <your branch name></code>, e.g.,
Use <code>git push origin <your branch name></code>, e.g.,
Line 152: Line 157:




You can also generate a [[#How do I request a merge?|merge request]] on Github from your forked repository to mainline.
You can also generate a [[#How do I request a merge?|merge request]] on GitHub from your forked repository to mainline.


=== How do I send a patch to the Sugar developers? ===
=== How do I send a patch to the Sugar developers? ===
Line 189: Line 194:
=== How do I amend a commit message? ===
=== How do I amend a commit message? ===


If you have "dirty" history (i.e. other patches that are not in mainline
If you have "dirty" history (i.e., other patches that are not in mainline
yet) please create a branch carrying only those two patches and push
yet) please create a branch carrying only those two patches and push
that branch:
that branch:
Line 231: Line 236:
==Internationalization work flow==
==Internationalization work flow==


<big>NOTE:<br>THIS IS FOR GITORIOUS ONLY, NOT APPLY FOR GITHUB</big>
{{Note/note|This section is for Gitorious only|The following does not apply to GitHub.}}


The i18n work flow involves an interplay between the Pootle server, where translations are maintained and gitorious, where the master POT files are updated. '''Note''': As a maintainer, you may update the .pot file associated with your project, but never update .po files. These are updated for you in the i18n work flow.
The i18n work flow involves an interplay between the Pootle server, where translations are maintained and Gitorious, where the master POT files are updated. '''Note''': As a maintainer, you may update the .pot file associated with your project, but never update .po files. These are updated for you in the i18n work flow.


=== How do I get translations for my project? ===
=== How do I get translations for my project? ===