/shortcuts-commands-resume

Summarises commands and instructions to be taught and used.

Summarises commands and instructions to be taught and used.

Linux and MacOs terminal commands:

  • ls: List files and directories in the current directory.
  • cat: Concatenate and display the contents of a file.
  • pwd: Print the current working directory.
  • history: View a list of previously executed commands. Ex.: history . , history -5
  • rm: Remove files or directories. Be cautious as this command is irreversible.
  • mkdir: Create a new directory.
  • find: Search for files and directories in a specified location.
  • cd: Change the current directory.
  • touch: Create an empty file. Ex.: touch file-to-create.text
  • cp: Copy files or directories from one location to another.
  • mv: Move or rename files or directories.
  • grep: Search for text patterns within files. Ex.: history . | grep <command-to-search>
Others
  • grep: Search for text patterns within files.
  • echo: Display a message or variable content in the terminal.
  • ps: Display a list of currently running processes.
  • kill: Terminate processes by their process ID (PID).
  • tar: Create or extract compressed archive files.
  • df: Show disk space usage.
  • du: Display disk usage of files and directories.
  • alias: Create shortcuts or custom commands.
  • sudo: Execute a command with superuser (administrative) privileges.
  • wget: Download files from the internet.
  • zip (Linux) or ditto (macOS): Compress files and directories into zip archives.
  • unzip (Linux) or ditto (macOS): Extract files from zip archives.
  • traceroute: Trace the route packets take to reach a network host.
  • find: Search for files and directories based on various criteria.
  • tree: Display directory structure as a tree.
  • who or w: Show who is logged in.
  • chmod: Change file permissions.
  • chown: Change file ownership.
  • quota: Display disk usage and quotas for a user.
  • sudo: Execute a command with superuser (administrative) privileges.
  • shutdown: Shut down or restart the system.
  • reboot: Reboot the system.

GitHub commands frequently used

### Install git

  • Update the system
sudo softwareupdate -i -a
  • Install Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • Install Git
brew install git

Configuration

git config --global user.name "Your Name"
git config --global user.email "your@email.com"
git config --global color.ui true

Commands

  • git init: Initialize a new Git repository in the current directory.
  • git clone <repository>: Create a local copy of a remote repository.
  • git remote add <name> <URL>: Add a new remote repository.
  • git add <file>: Stage changes for commit. Example: git add . (to add all the files).
  • git commit -m "Message": Commit staged changes with a descriptive message.
  • git commit -am "commit message": Commit all your tracked files to versioned history
  • git status: View the status of your working directory and staged changes.
  • git log: Display a history of commits in the repository.
  • git switch <branch> or git checkout <branch>: Switch to a different branch.
  • git switch -c <branch> or git checkout -b <branch>: Create an switch to a different branch.
  • git push: Push local commits to a remote repository.
  • git push origin <branch-name>: Push local commits to a branch in the remote repository.
  • git switch -c updates-branch && git push --set-upstream origin updates-branch: Create and update a new branch
  • git branch -a: list the branches
  • git branch: List all local branches and highlight the current branch.
  • git checkout <branch>: Switch to a different branch.
  • git merge <branch>: Merge changes from one branch into the current branch.
  • git pull: Fetch and merge changes from a remote repository. git pull origin main
  • git push: Push local commits to a remote repository.
  • git remote -v: View information about remote repositories.
  • git fetch <remote>: Download changes from a remote repository.
  • git reset <file>: Unstage changes for a specific file.
  • git reset --hard <commit>: Reset the current branch to a specific commit.

Restore the files as was in the last commit

git checkout -- .

Make a Pull Request for a provisional branch

git checkout -b lastupdate
git push origin lastupdate

# Open a Pull Request in https://github.com/<project>/lastupdate -> Click: This branch is xxx commits ahead, xxxx commit behind origin-repo:main.

# Merge the lastupdate branch with main
git checkout main
git merge lastupdate

#Remove the lastupdate branch
git branch -d lastupdate
# git push origin --delete lastupdate

Collaboration commit

git add .
git commit -m "Commit message" --author="GitHubUserName1 <GitHubUserName1@users.noreply.github.com>" --author="GitHubUserName2 <GitHubUserName2@users.noreply.github.com>"
git push

If there is a error, check the option git stash

Restore a local repo from the remote in the same status

The local changing after the last commit will removed

git remote add origin <url-repo>
git remote -v
git branch
git fetch origin
git reset --hard origin/main
git push -f origin main

More details here

Git Command Explorer

Git Cheat Sheet

Git Cheat Sheet

Useful resources and links
  • Gitpod - Code Institute full template Full workspace template for GitPod. Provides extensions and tools for CI students.
  • GitHub 'Projects' Projects are an issue management feature on GitHub which will help you organize Issues, Pull Requests, and notes into a Kanban-style board for better - - [visualization and prioritization of work.
  • The Git Story The story of Git. Get to know git commands!
  • Git Team workflow Using Git in a team cheatsheet.
  • Forking Git & GitHub Tutorial for Beginners - Forking & Contributing: how to fork a repository to your own GitHub account.
  • Branches Git & GitHub Tutorial for Beginners - Branches: introduction to branching and creating new branches to test out new features on.
  • Syncing Syncing Your GitHub Fork: what that means and how to do that video-tutorial.
  • Dealing with merge refusal error The solution to 'refusing to merge unrelated histories' error.
  • Merge unrelated histories Check out this video if git won't let you push due to the remote containing work that your local repository doesn't have, despite the fact that the remote repository is a new Git Hub repository and should have no history of its own.
  • Collaborate Issues/Pull Requests GitHub docs: Collaborating with issues and pull requests. Use the GitHub flow to track and discuss changes in issues, then propose and review changes in pull requests.
  • GitHub Starter Course The goal of this course is to give a brief introduction to GitHub. It will also provide you with materials for further learning and a few ideas to get you started on our platform.
  • Codeanywhere - Code Institute full template Full workspace template for Codeanywhere. Provides extensions and tools for CI students.
Others github commands
  • git stash: Temporarily save changes that are not ready to be committed.
  • git tag <tagname>: Create a lightweight tag for a specific commit.
  • git diff: Show differences between the working directory and the last commit.
  • git blame <file>: Display who made each change to a file and in which commit.
  • git remote remove <name>: Remove a remote repository.
  • git push --tags: Push tags to a remote repository.
  • git checkout -b <new-branch>: Create and switch to a new branch.
  • git branch -d <branch-name>: Delete a local branch.
  • git push origin --delete <branch-name>: Delete a remote branch.
  • git rebase <branch>: Move or combine commits from one branch onto another.
  • git fetch --prune: Remove references to remote branches that no longer exist.
  • git log --author=<author>: View commits by a specific author.
  • git log --grep=<pattern>: Search commit messages for a specific pattern.
  • git log <file>: View the commit history for a specific file.
  • git remote set-url origin <new-URL>: Change the URL of a remote repository.
  • git cherry-pick <commit>: Apply a specific commit to the current branch.
  • git reflog: Display a log of all Git references, including branch changes.
  • git clean -df: Remove untracked files and directories.
  • git bisect: Find the commit that introduced a bug using binary search.
  • git submodule: Manage Git submodules within a repository.
  • git log --oneline --graph --all: Display a compact graph of the commit history.
  • git commit --amend: Modify the last commit with new changes.
  • git remote prune origin: Prune stale remote-tracking branches.
  • git pull --rebase: Pull and rebase instead of merging.
  • git log --since=<date>: Show commits since a specific date.
  • git stash pop: Apply the last stashed changes and remove them from the stash.
  • git revert <commit>: Create a new commit that undoes changes from a specific commit.
  • git log --oneline --abbrev-commit: Display shortened commit hashes in the log.
  • git log --stat: Show statistics about changes in each commit.
  • git log --graph --decorate: Display a commit graph with branch and tag labels.
  • git remote show <remote>: Show information about a remote repository.
  • git log -p <file>: Display the changes made to a specific file in each commit.
  • git bisect start: Start the bisection process for finding a bug.
  • git bisect good <commit>: Mark a commit as good during bisection.
  • git bisect bad <commit>: Mark a commit as bad during bisection.
  • git bisect reset: Reset the bisection process.
  • git bisect visualize: Visualize the bisection process.
  • git clean -n: Dry run of git clean to see what would be removed.
  • git clean -i: Interactively choose which untracked files to remove.
  • git blame -L <start>,<end> <file>: Annotate only specific lines of a file.
  • git push -u <remote> <branch>: Push a local branch to a remote and set up tracking.
  • git cherry-pick --edit <commit>: Cherry-pick a commit and edit the message.
  • git log --no-merges: Display a log without merge commits.
  • git log --all --graph --decorate --oneline: A compact and visual commit history.
  • git grep <pattern>: Search for a pattern in the contents of files.
  • git log --format="%h %an %s" --since="2 weeks ago": Customized log format and time range.

Software for developers

* for backend development

Additional terminal programs

VSCode extensions

  • Activitus Bar
  • Paste JSON as Code
  • Version Lens
  • Error Lens: ErrorLens turbo-charges language diagnostic features by making diagnostics stand out more prominently, highlighting the entire line wherever a diagnostic is generated by the language and also prints the message inline.
  • Console Ninja: JavaScript console.log output and runtime errors right next to your code.
  • Image Preview: Shows image preview in the gutter and on hover
  • Fluent Icons: Fluent product icons for Visual Studio Code

Themes:

React

NodeJS and Django (backend)

Online IDEs to coding and tools to integrate with github

IDE Integrated with github to coding and sync the repository

Online live editor to coding and share

  • Stackblitz: An online development environment for frontend, Node.js and the JavaScript ecosystem.
  • CodeSandbox: An online code editor for web development. Support JavaScript, TypeScript, React, HTML, CSS, and more.
  • CodeSignal: Seamless technical hiring, from screening to interview. Make the right hires faster, save engineering time, increase diversity, and reduce risk with our technical interview and assessment platform.
  • codi.link | codi.link in github: A simple platform for sharing code snippets in JS, HTML, CSS and is possible to install libraries with npm.
  • replit.com: An online IDE for coding and collaboration with over 50 languages including Python, JavaScript, Java, C++, and more.
  • Python Tutor: An interactive Python code visualizer, that support JavaScript ES6, python 2.7, 3.6 and 3.11, c (c17 + GNU extensions, gcc 9.3), c++, java 8.
  • Google Colabs: A cloud-based Jupyter Notebook for Python.
  • Python Online Compiler - Programiz: An online Python code compiler by Programiz.
  • Code Pen: HTML, CSS and JavaScript online editor.
  • Amazon Cloud IDE - AWS Cloud9: Cloud9 IDE is an Online IDE (integrated development environment), published as open source from version 2.0, until version 3.0. It supports multiple programming languages, including C, C++, PHP, Ruby, Perl, Python, JavaScript with Node.js, and Go.
  • WebStorm: WebStorm is a powerful IDE for JavaScript development which helps you write high-quality code quickly, regardless of how complex your projects might be. With out-of-the-box support for all popular technologies.

Free online courses

Markdown and Readme references

## English certifications and studies

Others youtube courses
Games to learn to program
Algorithms and programming logic

Webs to test logic of programming

Tools to optimize, compile or minifier the code pre-deploy

  • Minify - JavaScript and CSS minifier

Deploy servers gratis (+github integration)

  • Fl0: One app gratis, js, python, php, go and Rust. Dockerfile, github integration
  • Vercel

Dockers and containers

  • OrbStack: OrbStack is the fast, light, and easy way to run Docker containers and Linux. Develop at lightspeed with our Docker Desktop alternative.

Databases servers and installations

Install react from scratch

  • With vite see details here
  • With create-react tools here

Programming resources

Documentation of many languages

  • DevDocs: DevDocs combines multiple API documentations in a fast, organized, and searchable interface.

CSS Libraries

  • Bootstrap: Powerful, extensible, and feature-packed frontend toolkit. Build and customize with Sass, utilize prebuilt grid system and components, and bring projects to life with powerful JavaScript plugins. Free themes for Bootstrap
  • Tailwind Elements: Bootstrap components recreated with Tailwind CSS, but with better design and more functionalities
  • Materializecss.com: Created and designed by Google, Material Design is a design language that combines the classic principles of successful design along with innovation and technology. Google's goal is to develop a system of design that allows for a unified user experience across all their products on any platform.
  • CSS Animations
  • https://cssgrid-generator.netlify.app

Icons, images and fonts

## Design resources

### Typography: Art of Fonts

Typography is the backbone of design, and selecting the right fonts can make or break a project. Explore a world of typography options with these resources:

  • Google Fonts: A vast library of free fonts to elevate your design.
  • Fontshare: Discover and share open-source fonts.
  • Colletivo: An inspiring collection of typefaces.

Grids: Structuring Your Design

Grids provide structure and harmony in web design. Dive into the world of grids with this comprehensive guide: A little bit of everything about them.

Color Schemes: Adding Visual Appeal

Color selection is critical for creating a visually appealing design. Explore color palettes and combinations with these resources:

  • Adobe Color Wheel: Create stunning color schemes effortlessly.
  • Coolors: Find trending color palettes to spark your creativity.

Images and Icons: Enhancing Visual Impact

Incorporating striking images and icons can elevate your design. Here are some valuable resources for free imagery and icons:

  • Free icons from Flowbite: Access a library of free icons for your design needs.
  • Unsplash: A treasure trove of high-quality, free images to enhance your projects.

Free sound resources

HTTP Status Code (Errors, and more...)

Create JSON with data to tests and conversions

Free web templates to start a project

Resources to tech interviews

Herramientas para programación con Inteligencia Artificial (IA)

Other resources

Validators, testing (css, html, python, js)..

Free certifications

To do (sections)

  • Common commands used in the terminal
  • GitHub commands frequently used
  • VSCode plugins for developers
  • Additional terminal programs to be used in the terminal: mc, homebrew, plz (copilot assistant),...
  • Online IDEs to coding and integrate with github (gitpod, codeanywhere, codesandbox, codi.link)
  • Free online courses
  • Markdown and Readme references
  • Free resources (images, icons, wireframes, colors, fonts, designs, libraries)
  • Basic installation of react with vite, create-react-app, pnpm and main libraries with some tips
  • Basic installation of nodeJS with main libraries, esLint
  • Main free servers to deploy app in cloud
  • Database servers and installations

Credits