introduction to git and github to git.pdfintroduction to git and github computing in optimization...
TRANSCRIPT
![Page 1: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/1.jpg)
Introduction to Git and Github
Computing in Optimization and Statistics: Lecture 1Jackie Baek
MIT
January 10, 2017
![Page 2: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/2.jpg)
What is git and GitHub?
I git is a version control system.I Other version control systems include mercurial, svn, perforce.I git is modern (2005) and most popular.
I GitHub is a service that allows you to host projects using git.
![Page 3: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/3.jpg)
What is a version control system?
I Software that stores ”snapshots” of a project over time.
I Can be used for projects big or small, long-term or short-term.
![Page 4: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/4.jpg)
Why should I learn it?
I Everyone uses it.I We’ll be using it in this class.
I Backup (in the cloud).
I Versioning with fine granularity.I Collaboration.
I But useful even when working by yourself.
Can’t we just use Dropbox?
I git gives finer granularity: files vs. lines within a file.
I This granularity is essential when writing code.
![Page 5: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/5.jpg)
Why should I learn it?
I Everyone uses it.I We’ll be using it in this class.
I Backup (in the cloud).
I Versioning with fine granularity.I Collaboration.
I But useful even when working by yourself.
Can’t we just use Dropbox?
I git gives finer granularity: files vs. lines within a file.
I This granularity is essential when writing code.
![Page 6: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/6.jpg)
Why should I learn it?
I Everyone uses it.I We’ll be using it in this class.
I Backup (in the cloud).
I Versioning with fine granularity.I Collaboration.
I But useful even when working by yourself.
Can’t we just use Dropbox?
I git gives finer granularity: files vs. lines within a file.
I This granularity is essential when writing code.
![Page 7: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/7.jpg)
Terminology
I repository (repo): the project that contains all files.
I commit: one snapshot of the repository.I log: list of all commits.I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 8: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/8.jpg)
Terminology
I repository (repo): the project that contains all files.I commit: one snapshot of the repository.
I log: list of all commits.I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 9: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/9.jpg)
Terminology
I repository (repo): the project that contains all files.I commit: one snapshot of the repository.
I log: list of all commits.
I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 10: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/10.jpg)
Terminology
I repository (repo): the project that contains all files.I commit: one snapshot of the repository.
I log: list of all commits.I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 11: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/11.jpg)
Terminology
I repository (repo): the project that contains all files.I commit: one snapshot of the repository.
I log: list of all commits.I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 12: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/12.jpg)
Terminology
I repository (repo): the project that contains all files.I commit: one snapshot of the repository.
I log: list of all commits.I HEAD: the currently checked out commit.
I local: repository sitting on your local machine.
I remote: repository sitting on a remote server (i.e. GitHub).
I pull: grab changes from remote to local.
I push: update remote with local changes.
![Page 13: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/13.jpg)
Creating a new repository
![Page 14: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/14.jpg)
Creating a new repository
![Page 15: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/15.jpg)
Creating a new repository
![Page 16: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/16.jpg)
Cloning a repository
$ git clone <URL>
I Go to any repository and copy the URL
I This will create a new directory with the same name as therepository name and clone the repo there.
$ git clone https://github.com/jwbaek/playground
$ git config --global core.editor "nano"
![Page 17: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/17.jpg)
Cloning a repository
$ git clone <URL>
I Go to any repository and copy the URL
I This will create a new directory with the same name as therepository name and clone the repo there.
$ git clone https://github.com/jwbaek/playground
$ git config --global core.editor "nano"
![Page 18: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/18.jpg)
Let’s make some changes
I Create a new file called new file.txtI Add ”This is a new file”
I Modify existing file.txtI interesting → uninteresting
$ cd playground
$ nano new file.txt
This is a new file
$ nano existing file.txt
interesting -> uninteresting
![Page 19: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/19.jpg)
Let’s make some changes
I Create a new file called new file.txtI Add ”This is a new file”
I Modify existing file.txtI interesting → uninteresting
$ cd playground
$ nano new file.txt
This is a new file
$ nano existing file.txt
interesting -> uninteresting
![Page 20: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/20.jpg)
See what changed
$ git diff
I Shows what changed since the last commit
![Page 21: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/21.jpg)
Checking the status of our files
$ git status
On branch master
Your branch is up-to-date with ’origin/master’.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in
working directory)
modified: existing_file.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
new_file.txt
no changes added to commit (use "git add" and/or
"git commit -a")
![Page 22: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/22.jpg)
File states
I Git will notice any file in the directory of the repository.
I A file is either untracked or tracked.I A tracked file may be:
1. Unmodified: No changes since the last commit.2. Modified: Changes have been made to it since the last
commit.3. Staged: Changes will be committed in the next commit.
![Page 23: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/23.jpg)
File states
I Git will notice any file in the directory of the repository.
I A file is either untracked or tracked.
I A tracked file may be:
1. Unmodified: No changes since the last commit.2. Modified: Changes have been made to it since the last
commit.3. Staged: Changes will be committed in the next commit.
![Page 24: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/24.jpg)
File states
I Git will notice any file in the directory of the repository.
I A file is either untracked or tracked.I A tracked file may be:
1. Unmodified: No changes since the last commit.2. Modified: Changes have been made to it since the last
commit.3. Staged: Changes will be committed in the next commit.
![Page 25: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/25.jpg)
File states
I Git will notice any file in the directory of the repository.
I A file is either untracked or tracked.I A tracked file may be:
1. Unmodified: No changes since the last commit.2. Modified: Changes have been made to it since the last
commit.3. Staged: Changes will be committed in the next commit.
![Page 26: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/26.jpg)
Staging files
$ git add <filepath>
I Any untracked or modified file that is added will be staged.
I Each such file will be included in the next commit.
$ git add new file.txt
$ git add existing file.txt
Use git add to either:
I Add a new file to the repository (untracked → staged)
I Record a change that you made to an existing file (modified→ staged)
![Page 27: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/27.jpg)
Staging files
$ git add <filepath>
I Any untracked or modified file that is added will be staged.
I Each such file will be included in the next commit.
$ git add new file.txt
$ git add existing file.txt
Use git add to either:
I Add a new file to the repository (untracked → staged)
I Record a change that you made to an existing file (modified→ staged)
![Page 28: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/28.jpg)
git commit
$ git commit -m <commit message>
I This creates a new snapshot of our repository with all changesthat we have staged.
$ git commit -m "Added new interesting file."
I This new snapshot (commit) is saved in our local repository.
I This does not push our changes to the remote repository(GitHub).
![Page 29: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/29.jpg)
git commit
$ git commit -m <commit message>
I This creates a new snapshot of our repository with all changesthat we have staged.
$ git commit -m "Added new interesting file."
I This new snapshot (commit) is saved in our local repository.
I This does not push our changes to the remote repository(GitHub).
![Page 30: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/30.jpg)
git log
$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Jackie Baek <[email protected]>
Date: Mon Mar 17 21:52:11 2008 -0700
this is my commit message
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <[email protected]>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <[email protected]>
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
![Page 31: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/31.jpg)
Interacting with remote
$ git push
I Update remote repository with local commits.
$ git pull
I Updates local repository with remote commits.
![Page 32: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/32.jpg)
Merging
I When we ‘git pull‘, git fetches the remote repository fromGitHub and merges the new remote updates with our localrepository.
I Even if both remote and local modified the same file, git isusually able to correctly merge the two copies.
I We get a merge conflict if both parties modified the sameparts of the same file.
![Page 33: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/33.jpg)
Merging
I When we ‘git pull‘, git fetches the remote repository fromGitHub and merges the new remote updates with our localrepository.
I Even if both remote and local modified the same file, git isusually able to correctly merge the two copies.
I We get a merge conflict if both parties modified the sameparts of the same file.
![Page 34: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/34.jpg)
Merging
$ git pull
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
https://github.com/jwbaek/playground
50c8ec4..0c13bac master -> origin/master
Auto-merging existing_file.txt
CONFLICT (content): Merge conflict in existing_file.txt
Automatic merge failed; fix conflicts and then
commit the result.
![Page 35: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/35.jpg)
Resolving Merge Conflicts
$ cat existing_file.txt
What an
<<<<<<< HEAD
uninteresting
=======
fun
>>>>>>> 0c13bac86a172ae60766d615f92d2b01d7bf131d
document!
I The markers <<<<<<<, =======, >>>>>>> indicate theconflict.
I The section in between the first two markers is your local change(HEAD), while the bottom section indicates the update from remote.
I Must resolve conflict manually by editing the file, making sure to get ridof the conflict markers.
$ nano existing file.txt
![Page 36: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/36.jpg)
Resolving Merge Conflicts
$ cat existing_file.txt
What an
<<<<<<< HEAD
uninteresting
=======
fun
>>>>>>> 0c13bac86a172ae60766d615f92d2b01d7bf131d
document!
I The markers <<<<<<<, =======, >>>>>>> indicate theconflict.
I The section in between the first two markers is your local change(HEAD), while the bottom section indicates the update from remote.
I Must resolve conflict manually by editing the file, making sure to get ridof the conflict markers.
$ nano existing file.txt
![Page 37: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/37.jpg)
Resolving Merge Conflicts
$ cat existing_file.txt
What an
<<<<<<< HEAD
uninteresting
=======
fun
>>>>>>> 0c13bac86a172ae60766d615f92d2b01d7bf131d
document!
I The markers <<<<<<<, =======, >>>>>>> indicate theconflict.
I The section in between the first two markers is your local change(HEAD), while the bottom section indicates the update from remote.
I Must resolve conflict manually by editing the file, making sure to get ridof the conflict markers.
$ nano existing file.txt
![Page 38: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/38.jpg)
Resolving Merge Conflicts
I After resolving conflicts, we must add the file for staging andcommit again.
I Git will automatically create a commit message: ”Mergebranch ’master’ of https://github.com/jwbaek/playground”
$ git add existing file.txt
$ git commit
I At this point, we can push.
![Page 39: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/39.jpg)
Resolving Merge Conflicts
I After resolving conflicts, we must add the file for staging andcommit again.
I Git will automatically create a commit message: ”Mergebranch ’master’ of https://github.com/jwbaek/playground”
$ git add existing file.txt
$ git commit
I At this point, we can push.
![Page 40: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/40.jpg)
Typical Workflow
Fetch remote changes.
$ git pull
(If there are any conflicts, resolve them and commit.
$ git add <conflicted files>
$ git commit )
Make changes
Stage modified and new files.
$ git add <files>
Commit changes.
$ git commit -m "this is my commit message"
Push local changes to remote.
$ git push
![Page 41: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/41.jpg)
Useful tips
I Google is your friend. (e.g. ”How to undo merge in git”.)
I Almost anything can be undone, as long as it is committed.
I Commit often, pull often.I Each command has many options.
I Use ‘git <verb> −−help‘ for documentation.
![Page 42: Introduction to Git and Github to git.pdfIntroduction to Git and Github Computing in Optimization and Statistics: Lecture 1 Jackie Baek MIT January 10, 2017. What is git and GitHub?](https://reader030.vdocuments.net/reader030/viewer/2022040214/5ec7bd0a13c2b83d4b19fb2a/html5/thumbnails/42.jpg)
Thank you!