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
    Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.

    Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, A

    Donne Martin 24.5k Jan 09, 2023
    Spin-off Notice: the modules and functions used by our research notebooks have been refactored into another repository

    Fecon235 - Notebooks for financial economics. Keywords: Jupyter notebook pandas Federal Reserve FRED Ferbus GDP CPI PCE inflation unemployment wage income debt Case-Shiller housing asset portfolio eq

    Adriano 825 Dec 27, 2022
    A Json Schema Generator

    JSON Schema Generator Author : Eru Michael About A Json Schema Generator. This is a generic program that: Reads a JSON file similar to what's present

    1 Nov 10, 2021
    Sphinx-performance - CLI tool to measure the build time of different, free configurable Sphinx-Projects

    CLI tool to measure the build time of different, free configurable Sphinx-Projec

    useblocks 11 Nov 25, 2022
    Get link preview of a website.

    Preview Link You may have seen a preview of a link with a title, image, domain, and description when you share a link on social media. This preview ha

    SREEHARI K.V 8 Jan 08, 2023
    Fully reproducible, Dockerized, step-by-step, tutorial on how to mock a "real-time" Kafka data stream from a timestamped csv file. Detailed blog post published on Towards Data Science.

    time-series-kafka-demo Mock stream producer for time series data using Kafka. I walk through this tutorial and others here on GitHub and on my Medium

    Maria Patterson 26 Nov 15, 2022
    NetBox plugin that stores configuration diffs and checks templates compliance

    Config Officer - NetBox plugin NetBox plugin that deals with Cisco device configuration (collects running config from Cisco devices, indicates config

    77 Dec 21, 2022
    FxBuzzly - Buzzly.art links do not embed in Discord, this fixes them (rudimentarily)

    fxBuzzly Buzzly.art links do not embed in Discord, this fixes them (rudimentaril

    Dania Rifki 2 Oct 27, 2022
    This repo provides a package to automatically select a random seed based on ancient Chinese Xuanxue

    🤞 Random Luck Deep learning is acturally the alchemy. This repo provides a package to automatically select a random seed based on ancient Chinese Xua

    Tong Zhu(朱桐) 33 Jan 03, 2023
    Canonical source repository for PyYAML

    PyYAML - The next generation YAML parser and emitter for Python. To install, type 'python setup.py install'. By default, the setup.py script checks

    The YAML Project 2k Jan 01, 2023
    Sphinx Bootstrap Theme

    Sphinx Bootstrap Theme This Sphinx theme integrates the Bootstrap CSS / JavaScript framework with various layout options, hierarchical menu navigation

    Ryan Roemer 584 Nov 16, 2022
    sphinx builder that outputs markdown files.

    sphinx-markdown-builder sphinx builder that outputs markdown files Please ★ this repo if you found it useful ★ ★ ★ If you want frontmatter support ple

    Clay Risser 144 Jan 06, 2023
    Beautiful static documentation generator for OpenAPI/Swagger 2.0

    Spectacle The gentleman at REST Spectacle generates beautiful static HTML5 documentation from OpenAPI/Swagger 2.0 API specifications. The goal of Spec

    Sourcey 1.3k Dec 13, 2022
    A next-generation curated knowledge sharing platform for data scientists and other technical professions.

    Knowledge Repo The Knowledge Repo project is focused on facilitating the sharing of knowledge between data scientists and other technical roles using

    Airbnb 5.2k Dec 27, 2022
    🍭 epub generator for lightnovel.us 轻之国度 epub 生成器

    lightnovel_epub 本工具用于基于轻之国度网页生成epub小说。 注意:本工具仅作学习交流使用,作者不对内容和使用情况付任何责任! 原理 直接抓取 HTML,然后将其中的图片下载至本地,随后打包成 EPUB。

    gyro永不抽风 188 Dec 30, 2022
    Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD.

    freecad-pyoptools Workbench to integrate pyoptools with freecad, that means basically optics ray tracing capabilities for FreeCAD. Requirements It req

    Combustión Ingenieros SAS 12 Nov 16, 2022
    Gaphor is the simple modeling tool

    Gaphor Gaphor is a UML and SysML modeling application written in Python. It is designed to be easy to use, while still being powerful. Gaphor implemen

    Gaphor 1.3k Jan 03, 2023
    An MkDocs plugin to export content pages as PDF files

    MkDocs PDF Export Plugin An MkDocs plugin to export content pages as PDF files The pdf-export plugin will export all markdown pages in your MkDocs rep

    Terry Zhao 266 Dec 13, 2022
    This repository outlines deploying a local Kubeflow v1.3 instance on microk8s and deploying a simple MNIST classifier using KFServing.

    Zero to Inference with Kubeflow Getting Started This repository houses all of the tools, utilities, and example pipeline implementations for exploring

    Ed Henry 3 May 18, 2022
    Coursera learning course Python the basics. Programming exercises and tasks

    HSE_Python_the_basics Welcome to BAsics programming Python! You’re joining thousands of learners currently enrolled in the course. I'm excited to have

    PavelRyzhkov 0 Jan 05, 2022