Raghuu''s D's P's L's Js _ Day 1 _ Git(VCS)--Hub(REPO.) (01); Open Source (1) ; Other Developments (1).

Raghuu''s D's P's L's Js _ Day 1 _ Git(VCS)--Hub(REPO.) (01); Open Source (1) ; Other Developments (1).

My Daily's Programming's Learning's Journeys

·

5 min read

Note : I've just started using this platform, and this is my very first day (yesterday - MH Day) of using it and writing something on it. So, don't expect high quality and well formatted content just yet. The main purpose of this content creation is to Fully Understand the Learned content By Effectively Note Making (not taking\copy pasting) and to keep the record.

{This note is effectively applicable to the three platforms simultaneously As I've just began to use them freshly at a time (thanks to AI), these platforms are : Hashnode, Jopline, and Obsidian}. < end of note >

Git(VCS) and GitHub(Repository) {1}:

Working with Git (1) :

Resources :

  1. Working with Git. by Infosys' Springboard, originally created by Global Knowledge (GK).

  2. Git Tutorial. ( www.w3schools.com/git/default.asp ).

  3. Git by example: Interactive guide. ( antonz.org/git-by-example/ )

  4. Git and GitHub Tutorial - Version Control for Beginners. ( www.freecodecamp.org/news/git-and-github-for-beginners/ ). and

  5. Other sources. ( Search, YouTube, AI, and Community platforms ... ).

Let's Begin ...

Git is an indispensable version control tool for software developers.

Going to cover the following topics, under the title "Working with Git".

  • Commiting changes to files.

  • Moving and Removing files.

  • and Ignoring files.

  • Branching and merging.

  • why and how to check out a branch.

  • how to merge changes from other branches.

  • Version history and It's purpose.

  • Rebasing a feacher branch.

  • Combining multiple commits into one.

  • Resolving merge conflicts in Git.

  • and Resolving confilcts with the command line interface.

Assume there I've created a sample repository named : git-branching

Screenshot 2024-05-01 224340.png

It consists of total 7 commits.

It Has three banches_

  1. Main branch (which by default called as "master" branch). having three commins on it.

  2. At main branch's third commit (hash: 10a6eb1), created a branch naming "design", which has two commits.

  3. and also created a "add-menus" branch.

If i Clone or Download this repo. (git clone git-branching) and run the following command_

git checkout "branch name"
That is For example : git checkout master
OR git checkout design
OR git checkout add-menus

what happens is, Git goes to that branch on repository and gets the state of files(commits) on that branch And compairs(Tracking) then shows the status of same branch on cloned working directory.

HEAD : shows that we are on which branch.

Instead we can go onto a specific commit (file) also, by putting the HASH instead.

HASH : is a unique an unique hexadecimal identifier generated for each commit.

For example : git checkout ef982b0 Shows "You are in 'detached HEAD' state".
means, that commit is detached from the branch.(i.e. by making its temporary clone or copy). Detached commit/hash has its own benefits. like keeping all branches impact-free (on another checkout), And we can create new branch their from it(the headless commit/hash) if we want to. and can do so (now or later) by using -b with the checkout command again.

For example : git checkout -b < new-branch-name >
It will create a new branch at/from their by given name.

The Open Source {1} :

Introduction to Open Source (1) :

Resources:

  1. Introduction to Open Source. by Codecademy. ( https://www.codecademy.com/learn/introduction-to-open-source ).
  • Open source software is open to distribution and modification by anyone in the world - that could be you!

  • Open source projects are not only a way to contribute to the free technology movement,

  • but also a great way to experiment with new languages and frameworks in a welcoming community.

  • The open source community is truly everywhere, contributing to a wide array of projects.

  • Like from Softwares to games, video editors, music, etc etc to cryptocurruncy!

Will be covering_

  • examples of open source projects.

  • their general skeleton.

  • where open source projects are hosted.

  • reading it's standard documentation.

  • GitHub issues tab.

  • Contribute to an open source project through code, documentation, or even reporting bugs.

  • Some common licences used in open source projects. (like GPL, MIT, and Apache.)

  • Create and maintain your own open source project.

What is Open Source?

Learn about what open source is and why it’s important!

  • Take for example, any website or an app.

  • There are probably things you like about it. Maybe it’s nice to look at or really easy to use. But there are also probably some things that could be improved.

  • Now, what if you could be the one to make those improvements?

  • Unfortunately, on most websites, this isn’t possible.

  • Because, The source code, or the code that was used to build the website, is very likely proprietary.

PROPRIETARY : This means that the code was written by a certain company, and only the people who work for that company have permission to view and change the code.

  • However, this isn’t always the case; that’s where open source comes in.

What is open source?

  • Open source software is software whose code is free to view, modify, and distribute.

  • It is usually created and maintained by a community of volunteer software developers who collaborate on websites like GitHub.

  • Anybody with an internet connection can view the code, and they can even suggest changes or point out issues that need to be fixed.

  • While many open source projects are software projects,

  • the concept of “open source” can be applied to many disciplines.

  • however, we will focus on the term “open source” as it applies to software projects.

Other Developments (1) :

Note Taking AND Others (1) :

  • This whole above notes are firstly taken in Jopline.

  • Joplin was useful in taking offline notes at any time conveniently using both software and app. thanks to its synchronisation feature.

  • Also tried the Obsidian, it felt more suitable for private and more intuitive record keeping.

  • doing copy pasting from joplin onto hashnode.

  • Other thing I noiced, is the need of one to two days earliar preparation of these daily's notes. for three reasons 1. thereby revision happens of learned content, 2. as and for finetuning and adjustments we do befor publishing it, and 3. note taking and publishing happens constructively, effectively and on time.

  • thats it for today.

  • see you tomorrow.

  • TC. & Happy Learning and Earning!.