step by step guide for beginners for getting started with open source

Overview

Step-by-Step Guide for beginners for getting started with Open-Source

Here The Contribution Begins πŸ’»

If you are a beginner then this repository is for you. By this tutorial you are going to learn how to make your First Pull Request for sure.

πŸ‘‹ Join our discord community CodeSmashers

⭐ STAR THIS REPOSITORY THIS WILL PAY OFF MY WORK


1. The first thing you need is Git installed on your system, if it is not installed then download it as per your OS and install it.

Git Setup :-

  • Download Git as per your OS.
  • Git installation Video as per your OS.
  • Install Git
  • Open the Git Bash ( Right Click )
  • Run the Commands
  • $ git config --global user.name "Your Name"

    $ git config --global user.email [email protected]

    $ git config --list

  • You should be able to see your entered name and email under user.name & user.email


2. You should have an account on GitHub if you you dont't have an account then simply make it.

3. You will need a text editor accoring to your comfort , I prefer Vs code

4. Now you just have to setup the project from GitHub to your local system.

Setting Project on your Local System :-


  • Fork this Repository or Project
  • This will create a copy of this repository in your account.


  • Copy the link of the Repository



  • Open Git bash where you want to clone the project and clone it
  • Clone it
  • Run Command and Hit Enter
    git clone 
         
    
         



    In this case it is
    git clone https://github.com/arpit456jain/Getting-Started-with-open-source.git

  • After you hit enter you will notice that some downloading will start. It's actually cloning of repo form your GitHub repository to your local system.

  • After this you will notice a folder is created with the name of repository



  • Then just close the Git bash and open this folder and open VS code here



5. Now Make necessary changes and commit them , lets say you have to add your name in readme , you already set up the project in local system . Now before starting your work always rembember to pull latest change from the main Repo.

  • Fetch And Merge


  • Pull these changes in your local system
  • git pull origin master
    



  • make a new branch and then make the changes , then commit them. make sure to commit to the new branch
    Never commit in master branch
  • git checkout -b new_branch_name
    git add -A
    git commit -a -m "message"
    
  • After commiting your changes on your local host you have to push that changes to GitHub , make sure you push the new branch
  • git push origin new_branch_name
    

6. Make the Pull Request

  • when you push the changes you will notice a new branch will be created on GitHub and there will be a green button for creating pull request. Click on it.



  • After this a new page will be open like this


  • Now add a title and description of your PR and click on create pull request.

  • Congrats πŸŽ‰ your Pull Request is created




Some Common Error And Their Solutions

1. Updates were rejected or failed to push some refs.


This is most common error you will find and its pretty easy to solve .


Solution: You just have to pull latest changes to your local system first and then you can push them

git pull origin master

Note : if your repo is a forked one and its some commit behind then first fetch n merge then pull changes


Common Git Commands you should know!!!

1. Git checkout

  • You can use the checkout command to switch the branch that you are currently working on.
  • git checkout 
       
    
       

    2. Git init

  • This is the command you need to use if you want to start a new empty repository or to reinitialize an existing one in the project root. It will create a .git directory with its subdirectories.
  • git init 
       
    
       

    3. Git diff

  • You can use this command to see the unstaged changes on the current branch.
  • git diff
    
  • If you want to see the staged changes.
  • git diff --staged
    
  • Or you can compare two branches:
  • gif diff 
        
        
    
        
       

    4. Git add

  • This is the command you need to use to stage changed files. You can stage individual files.
  • git add 
       
    
       
  • You can also stage all files.
  • git add .
    

    5. Git branch

  • Using git branch will list all the branches of the repository.
  • git branch
    
  • Or you can use it to create a new branch, without checking it out.
  • git branch 
       
    
       
  • To delete a branch.
  • git branch -d 
       
    
       

    6. Git log

  • If you want to see what you have committed till now.
  • git log
    
  • If you want to see last 5 commits among 100000 commits.
  • git log -p -1
    

    7. Git clear

  • To clean git bash.
  • git clear
    

    What if I have Merge Conflicts?

    A GitHub conflict is when people make changes to the same area or line in a file. This must be fixed before it is merged in order to prevent collision in the main branch.


    Now just make a Pull Request and add your name in Read me file.

    CodeSmashers Community


    Arpit Jain


    Ankita Puri

    ✨ Contributors

    Thanks go to these Wonderful People πŸ‘¨πŸ»β€πŸ’»: πŸš€


    Contributions of any kind are welcome!

    Open Source Programs click here

    show some ❀️   by giving the star to this repo

    Owner
    Arpit Jain
    Full Stack Web Developer with Python Flask and Django. 3 star Competitive Programmer on Codechef.
    Arpit Jain
    Explorative Data Analysis Guidelines

    Explorative Data Analysis Get data into a usable format! Find out if the following predictive modeling phase will be successful! Combine everything in

    Florian Rohrer 18 Dec 26, 2022
    Watch a Sphinx directory and rebuild the documentation when a change is detected. Also includes a livereload enabled web server.

    sphinx-autobuild Rebuild Sphinx documentation on changes, with live-reload in the browser. Installation sphinx-autobuild is available on PyPI. It can

    Executable Books 440 Jan 06, 2023
    My Sublime Text theme

    rsms sublime text theme Install: cd path/to/your/sublime/packages git clone https://github.com/rsms/sublime-theme.git rsms-theme You'll also need the

    Rasmus 166 Jan 04, 2023
    πŸ±β€πŸ A curated list of awesome things related to Hugo themes.

    awesome-hugo-themes Automated deployment @ 2021-10-12 06:24:07 Asia/Shanghai &sorted=updated Theme Author License GitHub Stars Updated Blonde wamo MIT

    13 Dec 12, 2022
    Some code that takes a pipe-separated input and converts that into a table!

    tablemaker A program that takes an input: a | b | c # With comments as well. e | f | g h | i |jk And converts it to a table: β”Œβ”€β”€β”€β”¬β”€β”€β”€β”¬β”€β”€β”€β”€β” β”‚ a β”‚ b β”‚

    CodingSoda 2 Aug 30, 2022
    EasyModerationKit is an open-source framework designed to moderate and filter inappropriate content.

    EasyModerationKit is a public transparency statement. It declares any repositories and legalities used in the EasyModeration system. It allows for implementing EasyModeration into an advanced charact

    Aarav 1 Jan 16, 2022
    Types that make coding in Python quick and safe.

    Type[T] Types that make coding in Python quick and safe. Type[T] works best with Python 3.6 or later. Prior to 3.6, object types must use comment type

    Contains 17 Aug 01, 2022
    A Python Package To Generate Strong Passwords For You in Your Projects.

    shPassGenerator Version 1.0.6 Ready To Use Developed by Shervin Badanara (shervinbdndev) on Github Language and technologies used in This Project Work

    Shervin 11 Dec 19, 2022
    πŸ† A ranked list of awesome python developer tools and libraries. Updated weekly.

    Best-of Python Developer Tools πŸ† A ranked list of awesome python developer tools and libraries. Updated weekly. This curated list contains 250 awesom

    Machine Learning Tooling 646 Jan 07, 2023
    DeltaPy - Tabular Data Augmentation (by @firmai)

    DeltaPy⁠⁠ β€” Tabular Data Augmentation & Feature Engineering Finance Quant Machine Learning ML-Quant.com - Automated Research Repository Introduction T

    Derek Snow 470 Dec 28, 2022
    Toolchain for project structure and documents optimisation

    ritocco Toolchain for project structure and documents optimisation

    Harvey Wu 1 Jan 12, 2022
    ACPOA plugin creation helper

    ACPOA Plugin What is ACPOA ACPOA is the acronym for "Application Core for Plugin Oriented Applications". It's a tool to create flexible and extendable

    Leikt Sol'Reihin 1 Oct 20, 2021
    πŸ’‘ Catatan Materi Bahasa Pemrogramman Python

    Repository catatan kuliah Andika Tulus Pangestu selama belajar Dasar Pemrograman dengan Python.

    0 Oct 10, 2021
    Yet Another MkDocs Parser

    yamp Motivation You want to document your project. You make an effort and write docstrings. You try Sphinx. You think it sucks and it's slow -- I did.

    Max Halford 10 May 20, 2022
    Jupyter Notebooks as Markdown Documents, Julia, Python or R scripts

    Have you always wished Jupyter notebooks were plain text documents? Wished you could edit them in your favorite IDE? And get clear and meaningful diff

    Marc Wouts 5.7k Jan 04, 2023
    In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqtrade so much yet.

    My Freqtrade stuff In this Github repository I will share my freqtrade files with you. I want to help people with this repository who don't know Freqt

    Simon Kebekus 104 Dec 31, 2022
    A Python library that simplifies the extraction of datasets from XML content.

    xmldataset: simple xml parsing πŸ—ƒοΈ XML Dataset: simple xml parsing Documentation: https://xmldataset.readthedocs.io A Python library that simplifies t

    James Spurin 75 Dec 30, 2022
    Convert excel xlsx file's table to csv file, A GUI application on top of python/pyqt and other opensource softwares.

    Convert excel xlsx file's table to csv file, A GUI application on top of python/pyqt and other opensource softwares.

    David A 0 Jan 20, 2022
    Python solutions to solve practical business problems.

    Python Business Analytics Also instead of "watching" you can join the link-letter, it's already being sent out to about 90 people and you are free to

    Derek Snow 357 Dec 26, 2022
    graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elliptical orbits. you can change timestamp value or scale from source code idc.

    solarSystemOrbitalSimulation graphical orbitational simulation of solar system planets with real values and physics implemented so you get a nice elli

    Mega 3 Mar 03, 2022