Skip to content

gabrieldejesus/git-commands

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Main Git Commands

Stars Forks Issues GitHub license Follow gabrieldejesus

Main Git Commands

English   |    Português   

  • Starting a Repository

    git init


  • Listing Modified Files

    git status


  • Undoing Changes

    • Unmonitored files

      git checkout

    • To delete new files that have not yet been added to the Stage

      git clean -df

    • Removing files from the Stage

      git reset

    • Undoing the last commit

      git revert HEAD


  • Rename Commit

    git commit —amend


  • Branches

    • Listing local Branches

      git branch

    • Also list the branches that are in the remote repository

      git branch -a

    • Going to another branch

      git checkout my-branch

    • If you add -b a new branch will be created

      git checkout -b my-new-branch

    • Excluding branches

      git branch -d branch-name // normal

      git branch -D branch-name // forcing

    • Renaming branches

      git branch -m new-branch-name

    • If you are on a branch and want to rename another one, you must first pass the current name of the branch you want to rename:

      git branch -m current-name new-name

    • Orphan Branch An orphaned branch has this name because it is not linked to the main branch, so their histories are not shared.

      Example:
           i --- j --- k <== branch 'my branch'
                 /
         a --- b --- c --- d --- h --- l <== branch 'main'
             \ /
               and --- f --- g <== branch 'my other branch'
    
         1 --- 2 --- 3 --- 4 <== `orphaned 'branch

    This can be useful when you want to place more than one project in the same repository. A good example is when you have a project on Github and want to create a website to publicize your project. The application and the website are different things, therefore, their codes must be versioned separately. Having both in the same repository simplifies management.

    To create an orphaned branch just use the command:

    git checkout --orphan my-branch-orphan


  • Viewing Commit History

    git log

    • History of one or more files

      git log -p my-files

    • Author's history

      git log --author = name-author

    • History by date

      git log --after = "MMM DD YYYY"

      git log --before = "MMM DD YYYY"

    • History Based on a message (commit)

      git log --grep products

      With this command we will have the history of commits in which the commit message has the word “products”. What we go through can be a regular expression, and we can spend more than one:

    Examples:

    Search for "products" OR "users"

    git log --grep products --grep users

    Search for "products" AND "users"

    git log --grep products --and --grep users


  • Display branches in a more readable mode

    It is possible to have the history printed showing the branches of the repository with something more readable and in color with a command. We will have a result similar to this:

      * a102055 (HEAD -> master) commit 8
      | * 196d28e (branch-2) commit 7
      | * 07e073c commit 3
      | * 2b077ca new fie
      | | * c1369d8 (branch-3) commit 6
      | | * d11bdcd commit 5
      | | /
      | / |
      * | 2b22b75 commit 2
      | /
      * d5a12b0 .gitignore
      * 9535426 - commit 1

    The command is a little long:

    git log --all --decorate --oneline --graph

    To decorate everything we should write after the log.

      --all
      --decorate
      --oneline
      --graph
    

  • Working on more than one thing without committing

    There may be times when you need to stop what you are doing and start working in another task. However, it may not be good to commit something that has not yet been finalized and then return to it, resulting in a commit that will be in the history but it has code that doesn't work. We can save these changes made even without having to perform a commit to later work on it again, which is called a Stash (something like "hide" or "accumulate").

    By doing this, your repository will return to the state of the last commit, and the changes previously made will be “hidden”.

    • Saving changes to a Stash

      git stash

    • You can still put a name on this stash

      git stash push -m my-name-stash

    • Listing Stash

      git stash list

    • Recovering modifications

      git stash apply

    This will retrieve the most recent stash code. If you want to recover a stash oldest, just look at the number of the stash that appears when we list it and pass for the following command:

    git stash apply stash @ {2}

    • Removing Stashes

      When we retrieve changes from a stash, it remains saved. To delete it from the stack, run the drop command next to the name of the stash you want to remove

      git stash drop stash @ {5}


About

👨🏾‍💻 The main git commands that every developer should know.

Topics

Resources

License

Stars

Watchers

Forks