-
Notifications
You must be signed in to change notification settings - Fork 0
/
lesson_3_reflections.txt
29 lines (18 loc) · 2.39 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
When would you want to use a remote repository rather than keeping all your work
local?
When you have multiple contributors to the same repository.
Why might you want to always pull changes manually rather than having Git
automatically stay up-to-date with your remote repository?
Because other contributors could be making changes to files that would impact what I am working on. I would rather choose when I want to be "impacted" and deal with any merge issues, etc. This is analagous to choosing when I want to "update" a program or an operating system. I know that when I go to update a program or OS, there could be negative issues that arise from the update. So rather than it automatically updating, I choose when I'm ready to deal with the updates.
Describe the differences between forks, clones, and branches. When would you
use one instead of another?
Fork is a clone from GitHub repository to GitHub repository. Clone is a copy of a GitHub repository to a local repository or Clone is a copy of a local repository to another local repository. Branches are a "fork" within the commit history of a repository.
What is the benefit of having a copy of the last known state of the remote
stored locally?
It allows you to perform git commands such as git log and git diff and work offline without needing access to GitHub via the Internet.
How would you collaborate without using Git or GitHub? What would be easier,
and what would be harder?
To collaborate would require sharing files between people. That's what GitHub does. Without GitHub, I would probably use another tool like Google drive that provides some common repository. Although this would be easier in some ways (such as just sharing files), it would not work well for tracking history, authors, changes, etc. GitHub provides a common framework/structure that all collaborators must adhere to. This helps prevent stupid mistakes.
When would you want to make changes in a separate branch rather than directly in
master? What benefits does each approach have?
In general, the master branch is what is in production or is production quality, or is what will be in production. So just about all dev work will be in a branch coming out of the master and merged back in later once the work is complete and is ready for testing and release. If a change is a simple bug fix and is short and sweet, making the change in the master makes sense.