Open Design: Difference between revisions

edit
m (formatting)
(edit)
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:


This section includes instructions for Alopex Product + Design teams.
This section includes instructions for Alopex Product + Design teams.
=== Github Training Sessions ===
We set up 2 Github training sessions for FxOS design and product teammates:
* Monday, Nov 2, 2015
* Thursday, Nov 5, 2015
* Contact Jean for details on times!
[https://docs.google.com/presentation/d/1pbT7_J_iHuBZVbjt6pVZi0ZqliU4rqCq36l41NkmQgY See materials from the training session here].
<hr>


=== Create a Github Account ===
=== Create a Github Account ===
Line 10: Line 21:


<hr>
<hr>
=== Set up Git on your computer ===
=== Set up Git on your computer ===
To work with Github, you need to set up [https://git-scm.com/ Git] on your computer. For Product and Design teams, we recommend you use '''[[Open Design#Set up Github Desktop|Github Desktop]]''' to work with Git.  
To work with Github, you need to set up [https://git-scm.com/ Git] on your computer. For Product and Design teams, we recommend you use '''[[Open Design#Set up Github Desktop|Github Desktop]]''' to work with Git.  
Line 53: Line 65:
Repositories on Github are called "remote repos" because they are remote from the computer where you do your work. Remote repos are also sometimes called "upstream repos."   
Repositories on Github are called "remote repos" because they are remote from the computer where you do your work. Remote repos are also sometimes called "upstream repos."   


To get started with Alopex, you need the files from [https://github.com/fxos-product-design/alopex Alopex's remote repo on Github]. This is called "cloning." When you "clone" a remote repo from Github, you copy the current state of the remote repo and paste it to your computer as a new local repo.
To get started with Alopex, you need to clone the remote repo for Alopex. When you "clone" the remote repo, you copy the current state of the remote repo and paste it to your computer as a new local repo.


:1. '''Decide on a location for your local repositories.'''  
:1. '''Decide on a location for your local repositories.'''  
Line 107: Line 119:
This workflow is a simplified way to interact with Github. We're using this approach so team members who aren't familiar with Github can get used to it, before we move on to more sophisticated methods.
This workflow is a simplified way to interact with Github. We're using this approach so team members who aren't familiar with Github can get used to it, before we move on to more sophisticated methods.


In this workflow, you're pushing directly to the master Github branch with no 2nd person review. As with Dropbox and Box, it’s possible to overwrite someone else’s changes to the same file if you’re not careful.  
In this workflow, you're pushing directly to the master Github branch with no 2nd person review. As with Dropbox and Box, it’s possible to experience conflicts if someone else pushed the same file you did.


:1. '''Open Github Desktop.'''
:1. '''Open Github Desktop.'''
Line 118: Line 130:
::::[[File:repo pull.png|none|550px|Repo Pull]]
::::[[File:repo pull.png|none|550px|Repo Pull]]


:::*Option 2: Click the "Sync" button in the upper left corner.
:::*Option 2: Click the "Sync" button in the upper right corner.
::::[[File:sync.png|none|550px|Sync]]  
::::[[File:sync.png|none|550px|Sync]]  


Line 131: Line 143:
:5. '''Prepare your commit.'''
:5. '''Prepare your commit.'''
::"Committing" means you are saving a particular state of your local repo. If you changed just one file, your commit consists only of that file. If you changed several files, your commit consists of all the changed files.
::"Committing" means you are saving a particular state of your local repo. If you changed just one file, your commit consists only of that file. If you changed several files, your commit consists of all the changed files.
::* Enter a title for your commit in the Summary field. For example, Updated PTW spec."
::* Enter a title for your commit in the Summary field. For example, "Updated PTW spec."
::* Enter a longer description for your commit in the Description field. Here you can describe the difference between your changes and the current versions on the remote Github repo. For example, you could copy your Change Log details into the Description field.  
::* Enter a longer description for your commit in the Description field. Here you can describe the difference between your changes and the current versions on the remote Github repo. For example, you could copy your Change Log details into the Description field.  
::: ''Note: the Summary and Description are displayed on the Github remote repo, so other people can see what you’ve changed.''
::: ''Note: the Summary and Description are displayed on the Github remote repo, so other people can see what you’ve changed.''
Line 157: Line 169:


:''Tip:''
:''Tip:''
* If you need to stop in the middle of Steps 2-7 and start over later, it's a good idea to start over again at Step 2. This helps ensure that you don’t overwrite someone else’s change to the same file.
::* If you need to stop in the middle of Steps 2-7 and start over later, it's a good idea to start over again at Step 2. This helps to avoid merge conflicts.
::* If you do experience a merge conflict (Github will tell you!), try googling to find a solution or reach out to some of your dev teammates to help you through it.


=== Gathering Feedback from Team and Collaborators ===
=== Gathering Feedback from Team and Collaborators ===
Line 173: Line 186:
<hr>
<hr>
=== Github Roles ===  
=== Github Roles ===  
* '''Members:''' Everyone on a project team is invited to the project's Github repo as a Member. Members can clone, pull, and push to any repositories.
* '''Members:''' Everyone on a project team is invited to the Github organization, e.g., FxOS Product Design, as a Member. Members can clone, pull, and push to any of the organization's repositories.


* '''Collaborators:''' Collaborators can clone and pull any repository. They can also open issues and comment on any issue.  
* '''Collaborators:''' Collaborators can clone and pull any repository. They can also open issues and comment on any issue.  
Confirmed users
195

edits