Jump to content
×
×
  • Create New...

About This Club

This club is related entire Open Source Contribution happening across the internet. If you are an open-source contributor you are invited here.
  1. What's new in this club
  2. Hello Club Members of Open Source Contributions today I gonna provide you guys with one of the initial thing / most important tool for any open source contributor out there that is some Git Cheat Sheet that every open source contributor should be familiar with. So let's deep dive into it. First of all what is Git for any general audience - Git is a distributed version control system that helps developers collaborate on projects of any scale. Git helps many developers accross the nations to collaborate/contribute on a particular project irrespective of their time differences helps in speeding up the feature addition,bug management and many more things on to that project. What is a Distributed Version Control System? A distributed version control system is a system that helps you keep track of changes you've made to files in your project.Git makes collaboration easy. Everyone on the team can keep a full backup of the repositories they're working on on their local machine. Then, thanks to an external server like BitBucket, GitHub or GitLab, they can safely store the repository in a single place. Git has many different commands you can use. And I've found that these fifty are the ones I use the most often (and are therefore the most helpful to remember). Downlaod Git for your desired system for here - [Hidden Content] and for setup refer this official documenation from Github link is - [Hidden Content] And if there is any difficulty in seting up Git then do reply down in this topic and I will post a seperate topic for Git installation. GIT CHEATSHEET/COMMANDS - How to check your Git configuration: The command below returns a list of information about your git configuration including user name and email: git config -l How to setup your Git username: With the command below you can configure your user name: git config --global user.name "Flicker" ("your desired name") How to setup your Git user email: This command lets you setup the user email address you'll use in your commits. git config --global user.email "[email protected]" ("your desired email/gmail") How to cache your login credentials in Git: You can store login credentials in the cache so you don't have to type them in each time. Just use this command: git config --global credential.helper cache How to initialize a Git repo: Everything starts from here. The first step is to initialize a new Git repo locally in your project root. You can do so with the command below: git init How to add a file to the staging area in Git: The command below will add a file to the staging area. Just replace filename_here with the name of the file you want to add to the staging area. git add filename_here How to add all files in the staging area in Git: If you want to add all files in your project to the staging area, you can use a wildcard . and every file will be added for you. git add . How to add only certain files to the staging area in Git: With the asterisk in the command below, you can add all files starting with 'fil' in the staging area. git add fil* How to check a repository's status in Git: This command will show the status of the current repository including staged, unstaged, and untracked files. git status How to commit changes in the editor in Git: This command will open a text editor in the terminal where you can write a full commit message.A commit message is made up of a short summary of changes, an empty line, and a full description of the changes after it. git commit How to commit changes with a message in Git: You can add a commit message without opening the editor. This command lets you only specify a short summary for your commit message. git commit -m "your commit message here" How to commit changes (and skip the staging area) in Git: You can add and commit tracked files with a single command by using the -a and -m options. git commit -a -m "your commit message here" How to see your commit history in Git: This command shows the commit history for the current repository: git log How to see your commit history including changes in Git: This command shows the commit's history including all files and their changes. git log -p How to see a specific commit in Git: This command shows a specific commit. Replace commit-id with the id of the commit that you find in the commit log after the word commit. git show commit-id How to see log stats in Git: This command will cause the Git log to show some statistics about the changes in each commit, including line(s) changed and file names. git log --stat How to see changes made before committing them using "diff" in Git: You can pass a file as a parameter to only see changes on a specific file.Git diff shows only unstaged changes by default.We can call diff with the --staged flag to see any staged changes. git diff git diff all_checks.py git diff --staged How to see changes using "git add -p": This command opens a prompt and asks if you want to stage changes or not, and includes other options. git add -p How to remove tracked files from the current working tree in Git: This command expects a commit message to explain why the file was deleted. git rm filename How to rename files in Git: This command stages the changes, then it expects a commit message. git mv oldfile newfile How to ignore files in Git: Create a .gitignore file and commit it. How to revert unstaged changes in Git: You can use the -p option flag to specify the changes you want to reset. git reset HEAD filename git reset HEAD -p How to amend the most recent commit in Git: git commit --amend allows you to modify and add changes to the most recent commit. git commit --amend !!Note!!: fixing up a local commit with amend is great and you can push it to a shared repository after you've fixed it. But you should avoid amending commits that have already been made public. How to rollback the last commit in Git: Git revert will create a new commit that is the opposite of everything in the given commit.We can revert the latest commit by using the head alias like this: git revert HEAD How to rollback an old commit in Git: You can revert an old commit using its commit id. This opens the editor so you can add a commit message. git revert comit_id_here How to create a new branch in Git: By default, you have one branch, the main branch. With this command, you can create a new branch. Git won't switch to it automatically – you will need to do it manually with the next command. git branch branch_name How to switch to a newly created branch in Git: When you want to use a different or a newly created branch you can use this command: git checkout branch_name How to list branches in Git: You can view all created branches using the git branch command. It will show a list of all branches and mark the current branch with an asterisk and highlight it in green. git branch How to create a branch in Git and switch to it immediately: In a single command, you can create and switch to a new branch right away. git checkout -b branch_name How to delete a branch in Git: When you are done working with a branch and have merged it, you can delete it using the command below: git branch -d branch_name How to merge two branches in Git: To merge the history of the branch you are currently in with the branch_name, you will need to use the command below: git merge branch_name How to show the commit log as a graph in Git: We can use --graph to get the commit log to show as a graph. Also, --oneline will limit commit messages to a single line. git log --graph --oneline How to show the commit log as a graph of all branches in Git: Does the same as the command above, but for all branches. git log --graph --oneline --all How to abort a conflicting merge in Git: If you want to throw a merge away and start over, you can run the following command: git merge --abort How to add a remote repository in Git: This command adds a remote repository to your local repository (just replace [Hidden Content] with your remote repo URL). git add remote [Hidden Content] How to see remote URLs in Git: You can see all remote repositories for your local repository with this command: git remote -v How to get more info about a remote repo in Git: Just replace origin with the name of the remote obtained by running the git remote -v command. git remote show origin How to push changes to a remote repo in Git: When all your work is ready to be saved on a remote repository, you can push all changes using the command below: git push How to pull changes from a remote repo in Git: If other team members are working on your repository, you can retrieve the latest changes made to the remote repository with the command below: git pull How to check remote branches that Git is tracking: This command shows the name of all remote branches that Git is tracking for the current repository: git branch -r How to fetch remote repo changes in Git: This command will download the changes from a remote repo but will not perform a merge on your local branch (as git pull does that instead). git fetch How to check the current commits log of a remote repo in Git: Commit after commit, Git builds up a log. You can find out the remote repository log by using this command: git log origin/main How to merge a remote repo with your local repo in Git: If the remote repository has changes you want to merge with your local, then this command will do that for you: git merge origin/main How to get the contents of remote branches in Git without automatically merging: This lets you update the remote without merging any content into the local branches. You can call git merge or git checkout to do the merge. git remote update How to push a new branch to a remote repo in Git: If you want to push a branch to a remote repository you can use the command below. Just remember to add -u to create the branch upstream: git push -u origin branch_name How to remove a remote branch in Git: If you no longer need a remote branch you can remove it using the command below: git push --delete origin branch_name_here How to use Git rebase: You can transfer completed work from one branch to another using git rebase. git rebase branch_name_here Git Rebase can get really messy if you don't do it properly. Before using this command I suggest that you re-read the official documentation here . How to run rebase interactively in Git: You can run git rebase interactively using the -i flag. It will open the editor and present a set of commands you can use. git rebase -i master # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this commit's log message # x, exec = run command (the rest of the line) using shell # d, drop = remove commit How to force a push request in Git: This command will force a push request. This is usually fine for pull request branches because nobody else should have cloned them.But this isn't something that you want to do with public repos. git push -f So here are top git commands used by open source developers most of the functionality are covered here go through it or save this topic post link so that u can refer it at any time. Hope you learnt something new from this cheat sheet. Stay Learning Stay Contributing. Happy Open Source Development!! 🤙💯
  3. Open Source Softwares are boon to mankind and it also paves the way for an buzzing enthusiast developer to contribute on it and also helps to gain an industry level experience right from the comfort of their homes. Isn't that super cool? So, in this post, I'll be sharing with you some of the Open Source Programs which you can apply as a student to gain some experience, work with some of the smartest and friendliest minds in the world from the comfort of your home and of course earn a generous stipend as well. Disclaimer: The application period for some programs from the list may had been closed but do consider reading it in order to make yourself well prepared with their application process in advance as some of them need prior contributions into the projects Thanks!! Google Summer Of Code (GSOC) - Google Summer Of Code is a mentorship program started by Google back in 2006 in order to bring more people especially the students into the open source communities by acting as a bridge between the two. The program usually starts in the month of January in which Open Source Organizations apply to participate in the program and the results for the selected organizations got announced 40 days after the initial application process. Now it's time for the Student's application process as soon as the Organizations results are announced the application process for the students starts after approx. 20 days. and lasts only 15 days. After the application period is over the organizations reviews the student's applications and selects them based on their proposals. As soon as you got selected into the program your official GSOC journey begins. Stipend is based on the Purchasing Power Parity of the country you live. More at [Hidden Content] . Major League Hacking (MLH) Fellowship - The MLH Fellowship is a remote internship alternative for aspiring technologists. Spend 12 weeks building your skills by collaborating on real-world projects. There's also an optional stipend given to the students given based on their circumstances. Website: [Hidden Content] Outreachy Internships - Outreachy is a diversity initiative that provides paid, remote internships to people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living. Outreachy provides internships to work on open source. Key highlights of the internships are: 💵 Paid - $6,000 USD total internship stipend 🌍 Remote - both interns and mentors work remotely 🕰 3 months - internships run May to August, or December to March Yes they runs the program twice a year Website: [Hidden Content] The X.Org Endless Vacation of Code (EVoC) - This is the X.org's own program similar to the Google Summer Of Code. Interested participants can send their proposal to the Org and the application process is moreover similar to the GSOC. One of the best thing of this program is that you can send your application anytime throughout the year. Website: [Hidden Content] Julia Seasons of Contributions - The Julia Seasons of Contributions (JSoC) are the seasonal programs for funding and/or mentoring students and other developers to contribute to the open source ecosystem. Click on the below link in order to know more about the programs in which they participates and accepts the students applications. Website: [Hidden Content] Google Season Of Docs - Season of Docs provides support for open source projects to improve their documentation and gives professional technical (Don't worry students can also apply) writers an opportunity to gain experience in open source. Together you'll help to the raise awareness of open source, of docs, and of technical writing. Website: [Hidden Content] Open Source Promotion Plan - Open Source Promotion Plan encourages everyone to pay close attention to open source software and open source community, aiming to cultivate and explore more outstanding developers. The Program for the year 2021 is over but you can bookmark this article as of now and can apply the next year. Website: [Hidden Content] Redox OS Summer of Code - The Redox OS Summer of Code is the primary use of donations to the Redox OS project. Students are selected who have already demonstrated a desire and ability to contribute to Redox OS. If you are interested, you must join the Redox OS chat and contribute to Redox OS projects. Website: [Hidden Content] Hyperledger Mentorship Program - The Hyperledger mentorship program is aimed at creating a structured hands-on learning opportunity for new developers who may otherwise lack the opportunity to gain exposure to Hyperledger open source development and entry to the technical community. It also provides a more defined path for Hyperledger to connect with the next generation of student developers to inject more talent into its development community. Benefits for Student Interns - Mentees gain exposure to real-world software development by working closely with active developers in the community. Mentees get introduced to open source development infrastructure, tooling, and culture. Mentees have the hands-on opportunity to do work related to their academic and professional interests and to further the pursuit of those interests. Mentees develop close working relationships with open source professionals and industry business leaders to expand their professional network. Website: [Hidden Content] 10. Linux Kernel Mentorship Program - The Linux Kernel Mentorship Program offers a structured remote learning opportunity to aspiring Linux Kernel developers. Experienced Linux Kernel developers and maintainers mentor volunteer mentees and help them become contributors to the Linux Kernel. The Linux Kernel Mentorship Program includes three 12-week, full-time volunteer mentee positions, and two 24-week part-time volunteer mentee positions each year. Website: [Hidden Content] So,these are some famous world wide open source events in which students can too apply and enjoy being associated to a corporate domain. Discover your area of interest on the basis of which stack or tech you love and then start contributing in this open source domain. Thanks For Reading!!
  4. Hey Developers/Open Source Contributors one of the biggest OpenSource Contribution event is arriving in just 8 days from now. Event known as HACKTOBERFEST-21 (It's the month for opensource developers to showcase their skills across the OpenSec Community/github). Prerequisites before you start your Hacktober journey- Proper Git management (Fork,Clone,Pull Request Management (PR), Git Branching) A github account and necessary setup according to the stack/language project you gonna take and contribute to. Event Link - HACKTOBERFEST (2021) If any body serious wanna learn git management for this global competition do ping me up personally. Outcomes/Rewards - Exclusive Developer stickers Hacktober Badge Swag (T-shirt) A recognition as an opensec contributor. Enjoy and trust me guys OpenSec Development is way to cool than you think so give it a shot.
  5.