You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/exercises/hello-version-control/index.qmd
+9-6Lines changed: 9 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,16 @@
1
-
# "Hello Version Control" Exercise
1
+
# "Hello, Version Control" Exercise
2
+
2
3
3
4
## Learning Objectives
4
5
5
6
Gain familiarity with basic version control operations, including creating repositories, pushing and pulling code, and making commits.
6
7
8
+
## Walkthrough Video
9
+
10
+
{{< video https://www.youtube.com/watch?v=UCcbvta2dp4
11
+
title= "Hello, Version Control Exercise Walkthrough" >}}
12
+
13
+
7
14
## Instructions
8
15
9
16
1. On GitHub, create a new repository named something like "my-first-repo", and make sure to include a "README.md" file. We'll refer to this as the "remote repository".
@@ -34,15 +41,11 @@ For more information about Markdown syntax, see the [Markdown Cheat Sheet](https
34
41
35
42
Once you see the updated README file contents reflected in your remote repository on GitHub, you have succeeded. Repeat the file-editing, committing and pushing steps at least one more time for good measure.
36
43
37
-
## Walkthrough Video
38
44
39
-
{{< video https://www.youtube.com/watch?v=UCcbvta2dp4
40
-
title= "Hello, Version Control Exercise Walkthrough"
41
-
>}}
42
45
43
46
<hr>
44
47
45
-
## Optional Further Exploration (Git CLI)
48
+
## Alternative (Git CLI)
46
49
47
50
Beginners are recommended to use GitHub Desktop to complete the exercise above, however if anyone is interested in completing the exercise using Git from the command line, see the commands below.
This is a process we will follow to add or revise the contents of our own existing repos. If you have just completed the ["Hello Version Control" exercise](../hello-version-control/index.qmd), you can start at step 3:
@@ -25,15 +30,11 @@ PR Workflow Process:
25
30
26
31
To repeat the PR Workflow Process (after PR has been merged), repeat steps 3-9 above.
27
32
28
-
## Walkthrough Video
29
33
30
-
{{< video https://www.youtube.com/watch?v=NTzUbULGc3o
Beginners are recommended to use GitHub Desktop to complete the exercise above, however if anyone is interested in completing the exercise using Git from the command line, see the commands below.
Copy file name to clipboardExpand all lines: docs/index.qmd
+2-37Lines changed: 2 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
:::
5
5
6
6
7
-
Demystify the version control process and learn how to manage and collaborate on coding projects with other researchers and developers. Attendees will become familiar with Git and GitHub.
7
+
Demystify the version control process and learn how to collaborate on coding projects with other researchers and developers.
8
8
9
9
## Learning Objectives
10
10
@@ -15,47 +15,12 @@ Demystify the version control process and learn how to manage and collaborate on
15
15
5. Collaborate with peers by pulling and merging changes from a shared repository.
16
16
6. Troubleshoot common Git errors and conflicts during version control.
17
17
18
-
## Prerequisites
19
-
20
-
This workshop requires the following software:
21
-
22
-
+ GitHub Desktop (requires a GitHub account)
23
-
+ VS Code Text Editor
24
-
25
-
If you have never worked with these tools before, we will walk you through how to install them. Just follow the [Version Control Tools Setup Guide](./prereqs/index.qmd).
26
-
27
-
## Agenda
28
-
29
-
+ 0:00 - Welcome and Announcements:
30
-
+ Make sure you have already installed the prerequisite software before the workshop.
31
-
+ For all workshop exercises, beginners are encouraged to use GitHub Desktop, but any participant desiring further exploration can use the Git CLI instead.
32
-
33
-
+ 0:05 - [Version Control Terminology and Concepts](./notes/version-control.qmd)
34
-
+ 0:10 - ["Hello Version Control" Exercise](./exercises/hello-version-control/index.qmd):
35
-
+ Gain familiarity with basic version control operations, including creating repositories, pushing and pulling code, and making commits.
+ Adopt a Pull Request Workflow to collaborate with people you don't know, on open source projects where you don't have write access to the repository.
42
-
+ 0:90 - Stop
43
-
44
-
45
-
The agenda above is for a 90 minute workshop, however for a 60 minute workshop, choose either the team exercise or open source exercise, and do the other for homework / self-practice.
Copy file name to clipboardExpand all lines: docs/notes/version-control.qmd
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,13 @@
6
6
7
7
)](../images/version-control.png)
8
8
9
+
Version control is a system that tracks changes to files over time, allowing multiple people to collaborate on projects efficiently. It enables developers to revert to previous versions, compare changes, and merge contributions seamlessly. There are two main types of version control: centralized and distributed. Centralized version control systems (CVCS), such as Subversion (SVN), use a single repository for storing all versions, while distributed version control systems (DVCS), like Git, provide each user with a complete copy of the project history, enhancing flexibility and collaboration.
10
+
11
+
The importance of version control extends beyond software development; it is also used in writing, research, and design projects. By maintaining a detailed history of changes, version control prevents data loss and reduces conflicts when multiple contributors are working on the same files. It also improves accountability by tracking who made specific modifications and when. This is particularly helpful for large-scale projects where team members need to coordinate their efforts while ensuring the integrity and stability of the codebase.
12
+
13
+
Modern version control systems, especially Git, have become essential tools in software development workflows. They integrate with platforms like GitHub, GitLab, and Bitbucket, facilitating remote collaboration and continuous integration. Version control also enables automated testing and deployment, ensuring that only well-tested code is released into production. By using version control, teams can maintain efficiency, reduce errors, and create a structured development process that supports innovation and long-term project sustainability.
14
+
15
+
9
16
## Terminology
10
17
11
18
**Repository** (noun): A software development project. Otherwise known as a "repo". In practice, a repository is just directory of files and folders.
The goal of a "version control" tool is to help us track changes in our code, and easily interface with code hosting and collaboration platforms like GitHub.
4
+
Git is the underlying version control system used by platforms like GitHub.
5
5
6
-
Git is a leading system for performing version control. Professionals may prefer to use Git from the command line, but there is a learning curve. So beginners are encouraged to get started with GitHub Desktop first, which provides an easier to use graphical user interface (GUI).
7
-
8
-
In this workshop we will use GitHub Desktop to download repositories from GitHub. We will revisit command-line Git in a future workshop.
6
+
The goal of a Git client is to help us track changes in our code, and interface with code hosting platforms like GitHub. Professionals may prefer to use Git from the command line, but there is a learning curve. Instead, beginners are encouraged to get started with GitHub Desktop, which provides an easier to use graphical user interface (GUI).
9
7
10
8
## GitHub Desktop
11
9
12
10
### Installation and Configuration
13
11
14
-
Beginners are encouraged to install [GitHub Desktop software](https://desktop.github.com/), for Mac or Windows.
15
-
16
-
> NOTE: GitHub Desktop may require the Git command line utility to also be installed on your computer (see below).
12
+
Students are encouraged to install [GitHub Desktop software](https://desktop.github.com/), for Mac or Windows.
17
13
18
14
After installing, you will need to login with your GitHub account credentials. See this [GitHub Desktop setup guide](https://docs.github.com/en/desktop/installing-and-authenticating-to-github-desktop/setting-up-github-desktop) for more information.
19
15
20
-
After installing, from the settings, choose VS Code as your default text editor, and either Terminal (Mac) or Git Bash (Windows) as your default command-line utility.
16
+
After installing, from the settings, choose VS Code as your default text editor.
21
17
22
18
### Success Criteria
23
19
24
-
You should be able to open the GitHub Desktop application, and visit the settings to see you are logged in with your GitHub account, and also see the desired tools selected in the integration settings.
25
-
26
-
## Git CLI
27
-
28
-
### Installation and Configuration
29
-
30
-
Installing Git depends on your operating system:
31
-
32
-
+ Windows users who have installed [Git Bash](https://git-scm.com/downloads) will have satisfied the Git installation requirement.
33
-
+ Mac users may find that a system version of Git is already installed, and that might be sufficient to satisfy the Git installation requirement. Any Mac users who encounter errors or who desire a newer version of Git can install Git from <https://git-scm.com/downloads>, or consider [installing Homebrew](../notes/clis/brew.qmd), and using Homebrew to install Git (`brew install git`).
34
-
35
-
### Success Criteria
36
-
37
-
Verifying Git has been installed:
38
-
39
-
```sh
40
-
git --version
41
-
```
20
+
You should be able to open the GitHub Desktop application, and visit the settings to see you are logged in with your GitHub account.
0 commit comments