Skip to content

Commit 9411c28

Browse files
authored
Merge pull request #3 from INTERSECT-training/lm/2024-updates
Lm/2024 updates
2 parents eaa116a + 32537ee commit 9411c28

File tree

7 files changed

+43
-40
lines changed

7 files changed

+43
-40
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# FIXME Lesson title
1+
# Working Collaboratively
22

3-
This repository generates the corresponding lesson website from [INTERESECT](https://intersect-training.org/) repertoire of lessons.
3+
This repository generates the corresponding lesson website from [INTERSECT](https://intersect-training.org/) repertoire of lessons.
44
The lesson format and structure is based off the [The Carpentries](https://carpentries.org/).
55

66
## Contributing
@@ -21,8 +21,9 @@ If you contribute to this lesson and would like to acknowledge specific funding
2121

2222
The contributing author(s) to this lesson are:
2323

24-
* FIXME
25-
* FIXME
24+
* Lauren Milechin
25+
* Dave Rumph
26+
* David Bernholdt
2627

2728

2829
## Maintainer(s)

_episodes/01-introduction.md

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -26,37 +26,29 @@ While technology helps, it is not the solution on its own. We will also discuss
2626

2727
Before diving in, we should review some basic terminology and commands. Note that while other options are available, we are focusing on GitHub for this lesson.
2828

29-
- **repository**: The project, contains all data and history (commits, branches, tags).
30-
- **remote (repository)**: The copy of the repository on a remote server, such as GitHub. Accessible to anyone who has access to the repository on the server. Also referred to as the "central" repository.
31-
- **local (repository)**: A copy of the repository in another place, such as a laptop or your home directory on a cluster. Generally accessible to one person.
32-
- **commit**: Snapshot of the project, gets a unique identifier (e.g. c7f0e8bfc718be04525847fc7ac237f470add76e).
33-
- **branch**: Independent development line. The main development line is often called main or master.
34-
- **tag**: A pointer to one commit, to be able to refer to it later. Like a commemorative plaque that you attach to a particular commit (e.g. phd-printed or paper-submitted).
35-
- **cloning**: Copying the whole repository to your laptop - the first time. It is not necessary to download each file one by one. This creates a local copy of the repository.
36-
- **forking**: Taking a copy of a repository (which is typically not yours) - your copy (fork) stays on GitHub/GitLab and you can make changes to your copy.
37-
- **pull**: Bring changes from a remote repository to your local repository.
38-
- **push**: Bring changes from your local repository to the remote repository.
39-
40-
{% comment %} Cite definitions from code refinery {% endcomment %}
29+
- *repository (repo)*: The project, contains all data and history (commits, branches, tags).
30+
- *remote (repository)*: The copy of the repository on a remote server, such as GitHub. Accessible to anyone who has access to the repository on the server. Also referred to as the "central" repository.
31+
- *local (repository)*: A copy of the repository in another place, such as a laptop or your home directory on a cluster. Generally accessible to one person.
32+
- *commit*: Snapshot of the project, gets a unique identifier (e.g. c7f0e8bfc718be04525847fc7ac237f470add76e).
33+
- *branch*: Independent development line. The main development line is often called main or master.
34+
- *tag*: A pointer to one commit, to be able to refer to it later. Like a commemorative plaque that you attach to a particular commit (e.g. phd-printed or paper-submitted).
35+
- *clone*: Copying the whole repository to your laptop - the first time. This creates a local copy of the repository. "Clone" as a noun refers to the local copy of the repository.
36+
- *fork*: Taking a copy of a repository (which is typically not yours) - your copy (fork) stays on GitHub/GitLab and you can make changes to your copy. "Fork" as a noun refers to the your forked copy of the repository.
37+
- *pull*: Bring changes from a remote repository to your local repository.
38+
- *push*: Bring changes from your local repository to the remote repository.
39+
40+
These definitions are adapted from [Code Refinery: Concepts around Collaboration](https://coderefinery.github.io/git-collaborative/concepts/).
4141

4242
A note about git integrations: You may find that your IDE has git built in allowing you to use the GUI instead of running the commands we talk about here. In this lesson we are focusing on the command line git commands, since they should be universal across any system you use. After this lesson we encourage you to use what you are most comfortable with, and the commands we cover will also help you better understand the functionality of your IDE git integration.
4343

4444
## Activity
4545

4646
Verify that you can access your GitHub account, have git installed on your computer, and can authenticate with GitHub from your computer, either using gh auth, ssh keys, or using your preferred GUI application.
4747

48-
In groups: have one person in your group create a repository from the provided template. Give access to the others in your group. Everyone should create a local clone with `git clone`. We will use this repository for the remainder of the exercises in this section.
48+
Work in small groups of 3-4. Have one person in your group create a repository from the [provided template](https://github.com/INTERSECT-training/intersect-training-day2). To create a repository from the template click "Use this Template" in the top right, then "Create a New Repository". Give access to the others in your group. Everyone should accept the invitation to collaborate and then create a local clone with `git clone`. We will use this repository for the remainder of the exercises in this section.
4949

50-
## Outline
51-
52-
- Recall challenges:
53-
- Sharing code in a cohesive way, everyone has access to the latest version, everyone is able to contribute equally
54-
- Keeping organized when working on a team, staying on the same page, communicating
55-
- Contributing document
56-
- Brief review of terminology
57-
58-
## TODO
59-
60-
- Create/find repository template to use
50+
## Additional Resources
51+
- [Code Refinery: Concepts around Collaboration](https://coderefinery.github.io/git-collaborative/concepts/)
52+
- [Code Refinery: Introduction to Version Control](https://coderefinery.github.io/git-intro/)
6153

6254
{% include links.md %}

_episodes/02-branches.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@ Changes made in one branch can be brought into another branch with a merge. For
3333

3434
You can create a branch on your local clone of the repository. If didn't just clone the repository it is always good to make sure you have any recent changes to the main branch by checking out the main branch and running "git pull":
3535

36-
```bash
36+
```shell
3737
git checkout main
3838
git pull
3939
```
4040

4141
Then, to create a branch we can run:
4242

43-
```bash
43+
```shell
4444
git checkout -b my_new_branch
4545
```
4646

@@ -54,7 +54,7 @@ This will create the branch `my_new_branch` and move you to the new branch. If y
5454

5555
The first time you push your branch to the remote repository, you will need to publish the branch by running run:
5656

57-
```bash
57+
```shell
5858
git push --set-upstream origin my_new_branch
5959
```
6060

@@ -64,7 +64,7 @@ After this any commits can be pushed with a simple `git push`.
6464

6565
If you need to switch to another existing branch you can use the `git checkout` command. For example, to switch back to the main branch you can run:
6666

67-
```bash
67+
```shell
6868
git checkout main
6969
```
7070

@@ -77,7 +77,7 @@ Remember, if you aren't sure which branch you are on you can run `git status`. I
7777

7878
Bring the changes from one branch into another branch by merging them. When you merge branches, changes from the specified branch are merged into the branch that you currently have checked out. For example,
7979

80-
```bash
80+
```shell
8181
git checkout my_new_branch
8282
git merge main
8383
```
@@ -89,7 +89,7 @@ will merge any changes introduced to `main` into the `my_new_branch`. Merging in
8989

9090
When development is complete on `my_new_branch`, it would be merged into `main`:
9191

92-
```bash
92+
```shell
9393
git checkout main
9494
git merge my_new_branch
9595
```
@@ -119,7 +119,7 @@ Everyone:
119119

120120
Now, **all but one** should run the following:
121121

122-
```bash
122+
```shell
123123
git pull
124124
git checkout main
125125
git merge branch_name

_episodes/04-git-workflows.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ In each of these example workflows we have assumed that anyone contributing to a
6868

6969
With a forking workflow it can be easy to end up with an old version of the code, especially if it changes frequently. It can get confusing whether we are attempting to pull from or push to the fork or the original repository. Setting up remotes with easy to remember aliases makes this much easier. A "remote" is a named connection to a remote repository. You can add and remove remotes with the `git remote add` and `git remote rm` commands, respectively. For example:
7070

71-
```bash
71+
```shell
7272
git remote add upstream https://github.com/project_team/project.git
7373
git remote add my-fork https://github.com/me/project.git
7474
```
7575

7676
Here we are adding a remote called "upstream" for our central team repository and another called "my-fork" for our own fork. We can view our remotes with `git remote -v`. Now when you want to retrieve any changes from the upstream repository you can run `git fetch upstream`. To update your main branch with these changes, you would merge them into your local forked repository:
7777

78-
```bash
78+
```shell
7979
git checkout main # this is the main branch for your fork that you have cloned locally
8080
git merge upstream/main
8181
```
@@ -94,7 +94,9 @@ We will end with a quick note if your team works on shared systems, including cl
9494

9595
## Activity
9696

97-
We provide a base repository to each group that each group member creates a local copy of the repository (either by forking or cloning). Students should decide which workflow to use and set up their repository accordingly. Start a contributor guide that explains the layout and rules.
97+
For your group's "project" that you have been working on through this lesson discuss which workflow would work best for your team. Set up the repository as needed to support this workflow. Start a contributor guide that explains the workflow and any rules for contributing.
98+
99+
If time allows, discuss any projects that your group members work on collaboratively with others. Is there a specified workflow for this project? How would someone contribute to the project?
98100

99101
## Additional Resources
100102

index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ layout: lesson
33
root: . # Is the only page that doesn't follow the pattern /:path/index.html
44
permalink: index.html # Is the only page that doesn't follow the pattern /:path/index.html
55
---
6-
FIXME: home page introduction
76

87
<!-- this is an html comment -->
98

-108 KB
Binary file not shown.

reference.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@ layout: reference
44

55
## Glossary
66

7-
FIXME
7+
- **repository**: The project, contains all data and history (commits, branches, tags).
8+
- **remote (repository)**: The copy of the repository on a remote server, such as GitHub. Accessible to anyone who has access to the repository on the server. Also referred to as the "central" repository.
9+
- **local (repository)**: A copy of the repository in another place, such as a laptop or your home directory on a cluster. Generally accessible to one person.
10+
- **commit**: Snapshot of the project, gets a unique identifier (e.g. c7f0e8bfc718be04525847fc7ac237f470add76e).
11+
- **branch**: Independent development line. The main development line is often called main or master.
12+
- **tag**: A pointer to one commit, to be able to refer to it later. Like a commemorative plaque that you attach to a particular commit (e.g. phd-printed or paper-submitted).
13+
- **cloning**: Copying the whole repository to your laptop - the first time. It is not necessary to download each file one by one. This creates a local copy of the repository.
14+
- **forking**: Taking a copy of a repository (which is typically not yours) - your copy (fork) stays on GitHub/GitLab and you can make changes to your copy.
15+
- **pull**: Bring changes from a remote repository to your local repository.
16+
- **push**: Bring changes from your local repository to the remote repository.
817

918
{% include links.md %}

0 commit comments

Comments
 (0)