IBM Full Stack Development
IBM Full Stack Development
1. Distributed versioning Systems for collaborative coding. Helps track changes and
versions and collaboration.
2. GitHub is git based hosted version control platform. Version control system allows
you to keep track of changes to documents – ease to roll back
3. Git – free and open source software – new general purpose license – distributed
version control system – accessible anywhere in the world
4. Can version control images, documents, etc. not just code
5. Git can be used without internet using terminal but github, bitbucket, beanstalk are
ways to access
6. Terms:
a. SSH protocol – secure remote login from one computer to another
b. Repository – folders where your project are set up for version control
c. Fork – copy of repository
d. Pull request – process used to request that someone reviews and approves
your changes before they become final
e. Working directory – files and subdirectory on your computer associated with
git repository
7. Basic Git commands
a. New repository – either create locally and push to github or git init – clone a
existing one
b. Git add – move changes from working directory to staging area
c. Git status – state of working directory and staged snapshot of changes
d. Git commit – takes staged snapshot of changes and commits them to project
e. Git reset/revert – undoes changes made to files in working directory
f. Git log – enabled to browse prev changes to project
g. Git branch – isolated environment within repository to make changes
h. Git checkout – see and change existing branches – switch to branch
i. Git merge – put everything back together again
8. Try.github.io – cheat sheet
9. Git repository model – linus Torvalds for distribution of linux kernels
10. Centralized administration
11. Main branch should always correspond to deployable code – updates can be made
on other branches and then released
12. Github is an online hosting service for git repositories – hosted by subsidiary of
Microsoft
13. Repository – data structure for storing documents including source code and helps
tracks changes for version control
14. Gitlab – devops platform
15. Support non linear workflows
16. Github repositories using web UI
a. Github.com – username – email – password – signup
b. Verify human – join free plan – free personal acc
c. Verify email – create organization, repository – start learning
d. Organization – collection of user accounts that own repositories
e. Click + or create repository – name – description – license to use code –
public or private, init readme
f. Code tab – all source files
g. Issues tab – all open items
h. Pull requests – collaborating - define changes committed and ready for review
before merging to main branch
i. Projects – tools for managing sorting and planning projects – collaborative
j. Wiki, security and insights – communication to external users
k. Settings – personalization – control access – rename repository etc.
l. Edit readme.md – commit – message and description – saves changes to
repository
m. Click add file – create new file – file name – eg .py – add code – commit
n. Add file – upload files – commit
17. Github branches
a. All files in github are stored in branches
b. Master branch stores all the deployable code – created by default
c. Any branch can be maid main, finished deployable
d. New branch is an exact copy of original branch
e. Click dropdown – branch: master – add new branch name – text – create
branch
f. Common base – branched for new features – both undergoing changes –
ready to merge – each code master and feature tip – combined in third new
branch – new merge commit
g. Save changes are commits – stable platform for features developed
h. Commit changes box – describe changes
i. Commit directly to current branch or create new
j. Don’t end commit messages with periods
k. Pull request – initiate merges of branches in a way to capture changes –
makes It available for others to use – can follow cany commits even if code is
unfinished – if you make a change on a branch you don’t own – github
automatically makes a pull request – can target specific users – log files
immutable so can always find approver of merge
l. Pull request – new – select branch from compare box – scroll to view changes
– confirm what they are – add title and desc – create
m. Merging into master branch – only deployable code
n. Developers can change source files in branch but not released until they are
committed – pull request – reviewed and approved – merge to master code –
then release
o. Merge pull request – confirm merge and when branch merge usually then
obsolete and should be deleted
18. Cloning and forking github projects
a. Cloning creates copy of repository on local machine – cloned copies can sync
between locations
b. Forking modifies or extends a project
c. Git clone – url of repository in designated folder – to sync code back – git add
<files> - moves to staging area – formatted and reviewed before commit – git
commit -m message – then git push to commit changes to repository
d. Remote repository – stored elsewhere – push pull and fetch to share work git
push – transfer changes – git fetch – from remote to local – doesn’t merge to
branch can be merged – git pull – fetch + merge
e. Origin – refers to your fork; upstream – original work
f. Forking takes a copy of repo to use as base
g. Can be used to submit back changes – independently make changes – submit
pull request – then they can accept – keep a copy of license file
h. To keep fork in sync with original from local clone
i. Create local clone – open terminal – change to directory of clone – git remote
-v gives remote repo – git remote add upstream <clone directory paste> -
type git remote -v
j. Git fetch upstream – grab upstream branches
k. Git merge upstream/master – merge it to master
l. Git pull upstream – fetch and merge to master
19. Managing github projects
a. Version control and project management – github
b. Developer, integrator, repository administrator
c. Developer communicates with others using git clone, pull, fetch, push,
request-pull
d. Integrator – receives changes, reviews and responds to pull requests,
publishes results for others to use – git pull, revert, push (local to remote)
e. Github repository administrator – structures repo organization and how users
interact – manages communities, asset types, relationships, categories and
attributes – sets and maintains access of developers – configure servers –
define email and index settings – manage look and feel of app – github
actions to automate workflows like CI/CD
Course 4 – REACT