Professional Documents
Culture Documents
Web Programming: With Python and Javascript
Web Programming: With Python and Javascript
a = 1
b = 2
c = 3
Create file
Keep track of changes to code.
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4
a = 1 a = 1 a = 1
b = 2 b = 2 c = 3
c = 3 c = 3 d = 4
d = 4
b = 2
c = 3
Synchronizes code between different people.
b = 2
c = 3
b = 2 b = 2
c = 3 c = 3
Synchronizes code between different people.
b = 2
c = 3
a = 1 b = 2
b = 2 c = 3
c = 3 d = 4
Synchronizes code between different people.
int
a = b = 1;
a
1 2;
int
b = c = 3;
b
2 2;
int
c = d = 3;
c
3 4;
d = 4
a = 1 b = 2
b = 2 c = 3
c = 3 d = 4
Synchronizes code between different people.
a =
int 1 = 1;
b
a 2;
int
b = c = 3;
b
2 2;
int
c = d = 3;
c
3 4;
d = 4
a =
int 1 = 1;
a a =
int 1 = 2;
b
int
b = b = 2;
2 int
b = c = 3;
2
int
c = c = 3;
3 int
c = d = 4;
3
d = 4 d = 4
Test changes to code without losing the original.
int
a = a
1 = 1;
int
b = b
2 = 2;
int
c = c
3 = 3;
int
d = d
4 = 4;
Test changes to code without losing the original.
a = 1
b = 2
c = 3
a = 1
b = 2
c = 3
d = 4
Test changes to code without losing the original.
a = 1
b = 2 a = 1
c = 3 b = 2
c = 3
d = 4
a = 1
b = 2
c = 3
d = 4
Revert back to old versions of code.
a = 1 a = 1 a = 1
b = 2 b = 2 c = 3
c = 3 c = 3 d = 4
d = 4
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4
a = 1
b = 2
c = 3
git clone <url> d = 4
git add
git add <filename> a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1
b = 2
c = 3
d = 4
git add <filename> a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1
b = 2
c = 3
d = 4
e = 5
git add <filename> a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1
b = 2
c = 3
git add foo.py d
e
=
=
4
5
git add <filename> a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1
b = 2
c = 3
git add foo.py d = 4
e = 5 Changes to be committed:
modified: foo.py
git commit
git commit -m "message" a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a =
int 1
a = 1;
int
b = b
2 = 2;
int
c = c
3 = 3;
int
d = d
4 = 4;
e = 5
git commit -m "message" a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1
b = 2
c = 3
git commit -m d
e
=
=
4
5
"Add line"
git commit -m "message" a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
git commit -m d = 4 d
e
=
=
4
5
"Add line"
Add line
git status
git status a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git status a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git status
git status a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
git push
git push a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a =
int 1
a = 1;
b = 2 int
b = b
2 = 2;
c = 3 int
c = c
3 = 3;
d = 4 int
d = d
4 = 4;
int
e = e
5 = 5;
Add line
git push a =
int 1
b
a = 2;
1;
int
b = c
b
2 = 3;
2;
int
c = d
c
3 = 4;
3;
int
d = d
4 = 4;
a = 1 a = 1
b = 2 b = 2
git push c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git push a =
int 1
b
a = 2;
1; a = 1
int
b = c
b
2 = 3;
2; b = 2
int
c = d
c
3 = 4;
3; c = 3
int
d = d
4 = 4; d = 4
e = 5
Add line
a = 1 a = 1
b = 2 b = 2
git push c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git pull
git pull a = 1 a = 1 int
a = a
1 = 1;
b = 2 b = 2 int
c = c
3 = 3;
c = 3 c = 3 int
d = d
4 = 4;
d = 4 d = 4 int
e = e
5 = 5;
e = 5
a = 1 a = 1
b = 2 b = 2
c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git pull a = 1 a = 1 a = 1
b = 2 b = 2 c = 3
c = 3 c = 3 d = 4
d = 4 d = 4 e = 5
e = 5
a = 1 a = 1
b = 2 b = 2
git pull c = 3 c = 3
d = 4 d = 4
e = 5
Add line
git pull a = 1 a = 1 a = 1
b = 2 b = 2 c = 3
c = 3 c = 3 d = 4
d = 4 d = 4 e = 5
e = 5
a = 1 a = 1 a = 1
b = 2 b = 2
git pull c = 3 c = 3
c
d
=
=
3
4
d = 4 d = 4 e = 5
e = 5
git pull
Merge Conflicts
git pull
CONFLICT (content): Merge conflict in foo.py
Automatic merge failed; fix conflicts and then
commit the result.
Merge Conflicts
foo.c
a = 1
<<<<< HEAD
b = 2
=====
b = 0
>>>>> 57656c636f6d6520746f20576562
git pull
c = 3
d = 4
e = 5
Merge Conflicts
foo.c
a = 1
your <<<<< HEAD conflicting commit
changes
{ b = 2
=====
remote
changes { b = 0
>>>>> 57656c636f6d6520746f20576562
git pull
c = 3
d = 4
e = 5
Merge Conflicts
foo.c
a = 1
<<<<< HEAD
b = 2
=====
b = 0
>>>>> 57656c636f6d6520746f20576562
git pull
c = 3
d = 4
e = 5
Merge Conflicts
foo.c
a = 1
b = 2
git pull
c = 3
d = 4
e = 5
Merge Conflicts
foo.c
a = 1
b = 2
c = 3
d = 4
e = 5
git pull
git log
git log
git log
git log
git log
commit 436f6d6d6974204d73672048657265
Author: Brian Yu <brian@cs.harvard.edu>
Date: Tue Jan 14 14:06:28 2020 -0400
Remove a line
Add a line
git reset
git reset
a = 1 a = 1 a = 3
b = 2 b = 2 c = 3
c = 3 c = 3 d = 4
d = 4 d = 4 e = 5
e = 5
a = 1 a = 1 a = 3
b = 2 b = 2
git reset --hard c = 3 c = 3
c
d
=
=
3
4
57656c6 d = 4 d = 4 e = 5
e = 5
a = 1 a = 1
b = 2 b = 2
git reset --hard c = 3 c = 3
57656c6 d = 4 d = 4
e = 5
Add line
57656c6
Making Changes
first
commit
first changes
commit
first changes more
commit changes
first changes more start new
commit changes feature
first changes more start new keep working
commit changes feature on new feature
Branching
first
commit
first changes
commit
first changes more
commit changes
start new
feature
← feature
← master
first changes more fix bug
commit changes
start new keep working
feature on new feature
← feature
← master ← HEAD
first changes more fix bug
commit changes
start new keep working
feature on new feature
← feature ← HEAD
← master
first changes more fix bug
commit changes
start new keep working
feature on new feature
• git branch
• git checkout
• git merge
Remotes
Remotes
Remotes
↑
master
↑
master
Remotes
↑
master
git fetch
↑
master
Remotes
↑
master
git fetch
↑ ↑
origin/master
master
Remotes
↑
master
git fetch
git merge
origin/master
↑ ↑
origin/master
master
Remotes
↑
master
git fetch
git merge
origin/master ↑
↑ origin/master
master
Remotes
↑
master
git pull
↑
↑ origin/master
master
Forks
Pull Requests
Web Programming
with Python and JavaScript