-
Notifications
You must be signed in to change notification settings - Fork 0
/
lesson_3_reflections.txt
32 lines (19 loc) · 2.28 KB
/
lesson_3_reflections.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
When would you want to use a remote repository rather than keeping all your work
local?
If others are going to be accessing the file, I'm building a portfolio, or I'd like to use it as a backup.
Why might you want to always pull changes manually rather than having Git
automatically stay up-to-date with your remote repository?
Having changes updated automatically could overwrite the changes I'm working on. Or just plain confuse me.
Describe the differences between forks, clones, and branches. When would you use one instead of another?
Branches are segments of the code being taken in a different direction. Think of it like a working copy. Clones are exact copies of all commits. Forks are clones done on GitHub and giving credit back to the original repository.
- Branches: want to try something new while keeping a working version, or at least a version that is heading a certain direction.
- Clones: you want to work on repository locally, or just create a copy.
- Fork: you don't want to make changes to the original repository, but want to clone the repository and give credit to the original creator.
What is the benefit of having a copy of the last known state of the remote
stored locally?
By having the last know state of the remote stored locally, you can work without internet connection. Plus, you can keep track of the differences between your local and remote version.
How would you collaborate without using Git or GitHub? What would be easier, and what would be harder?
Without Git or GitHub, I'd probably have a manual "checkout" system, where I let my collaborator(s) know when I was working on the file and vice-versa.
Manual collaboration would be ridiculously hard in general. BUT navigating the file system would be significantly easier. There'd be no new system with new commands to learn. Communicating on the versions and keeping track of that manually would be significantly harder.
When would you want to make changes in a separate branch rather than directly in master? What benefits does each approach have?
Any time you're trying something out that hasn't been checked by another set of eyes (or at least your own), you'll want to use a separate branch. For collaborative projects, you merge into the master only with pull requests.