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
    Flask-Rebar combines flask, marshmallow, and swagger for robust REST services.

    Flask-Rebar Flask-Rebar combines flask, marshmallow, and swagger for robust REST services. Features Request and Response Validation - Flask-Rebar reli

    PlanGrid 223 Dec 19, 2022
    Tutorial for STARKs with supporting code in python

    stark-anatomy STARK tutorial with supporting code in python Outline: introduction overview of STARKs basic tools -- algebra and polynomials FRI low de

    121 Jan 03, 2023
    Python Advanced --- numpy, decorators, networking

    Python Advanced --- numpy, decorators, networking (and more?) Hello everyone 👋 This is the project repo for the "Python Advanced - ..." introductory

    Andreas Poehlmann 2 Nov 05, 2021
    Hasköy is an open-source variable sans-serif typeface family

    Hasköy Hasköy is an open-source variable sans-serif typeface family. Designed with powerful opentype features and each weight includes latin-extended

    67 Jan 04, 2023
    An awesome Data Science repository to learn and apply for real world problems.

    AWESOME DATA SCIENCE An open source Data Science repository to learn and apply towards solving real world problems. This is a shortcut path to start s

    Academic.io 20.3k Jan 09, 2023
    The OpenAPI Specification Repository

    The OpenAPI Specification The OpenAPI Specification is a community-driven open specification within the OpenAPI Initiative, a Linux Foundation Collabo

    OpenAPI Initiative 25.5k Dec 29, 2022
    Project documentation with Markdown.

    MkDocs Project documentation with Markdown. View the MkDocs documentation. Project release notes. Visit the MkDocs wiki for community resources, inclu

    MkDocs 15.6k Jan 02, 2023
    Automatic links from code examples to reference documentation

    sphinx-codeautolink Automatic links from Python code examples to reference documentation at the flick of a switch! sphinx-codeautolink analyses the co

    Felix Hildén 41 Dec 17, 2022
    DataRisk Detection Learning Resources

    DataRisk Detection Learning Resources Data security: Based on the "data-centric security system" position, it generally refers to the entire security

    Liao Wenzhe 59 Dec 05, 2022
    PythonCoding Tutorials - Small functions that would summarize what is needed for python coding

    PythonCoding_Tutorials Small functions that would summarize what is needed for p

    Hosna Hamdieh 2 Jan 03, 2022
    Python-slp - Side Ledger Protocol With Python

    Side Ledger Protocol Run python-slp node First install Mongo DB and run the mong

    Solar 3 Mar 02, 2022
    Word document generator with python

    In this study, real world data is anonymized. The content is completely different, but the structure is the same. It was a script I prepared for the backend of a work using UiPath.

    Ezgi Turalı 3 Jan 30, 2022
    Clases y ejercicios del curso de python diactodo por la UNSAM

    Programación en Python En el marco del proyecto de Inteligencia Artificial Interdisciplinaria, la Escuela de Ciencia y Tecnología de la UNSAM vuelve a

    Maximiliano Villalva 3 Jan 06, 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
    Testing-crud-login-drf - Creation of an application in django on music albums

    testing-crud-login-drf Creation of an application in django on music albums Befo

    Juan 1 Jan 11, 2022
    API spec validator and OpenAPI document generator for Python web frameworks.

    API spec validator and OpenAPI document generator for Python web frameworks.

    1001001 249 Dec 22, 2022
    A simple document management REST based API for collaboratively interacting with documents

    documan_api A simple document management REST based API for collaboratively interacting with documents.

    Shahid Yousuf 1 Jan 22, 2022
    Quick tutorial on orchest.io that shows how to build multiple deep learning models on your data with a single line of code using python

    Deep AutoViML Pipeline for orchest.io Quickstart Build Deep Learning models with a single line of code: deep_autoviml Deep AutoViML helps you build te

    Ram Seshadri 6 Oct 02, 2022
    Build AGNOS, the operating system for your comma three

    agnos-builder This is the tool to build AGNOS, our Ubuntu based OS. AGNOS runs on the comma three devkit. NOTE: the edk2_tici and agnos-firmare submod

    comma.ai 21 Dec 24, 2022
    204-python-string-21BCA90 created by GitHub Classroom

    204-Python This repository is created for subject "204 Programming Skill" Python Programming. This Repository contain list of programs of python progr

    VIDYABHARTI TRUST COLLEGE OF BCA 6 Mar 31, 2022