Skip to content

Instantly share code, notes, and snippets.

@manters2000
Last active December 19, 2015 06:23
Show Gist options
  • Select an option

  • Save manters2000/b3e95ba6311a569a927a to your computer and use it in GitHub Desktop.

Select an option

Save manters2000/b3e95ba6311a569a927a to your computer and use it in GitHub Desktop.

Revisions

  1. manters2000 revised this gist Dec 19, 2015. No changes.
  2. manters2000 revised this gist Dec 19, 2015. No changes.
  3. manters2000 renamed this gist Dec 19, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  4. manters2000 created this gist Dec 19, 2015.
    165 changes: 165 additions & 0 deletions rails-commands
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,165 @@
    Useful Git Commands:

    git config --global user.name "Emmanuel Rosani"
    git config --global user.email "[email protected]"

    //Ignore files globally
    //Create .gitignore_global file in the user directory containing files/folders you wish to ignore
    git config --global core.excludesfile Users\Rosani\.gitignore_global

    git add .
    git commit -m "My message"

    git status

    //show commit logs
    git log

    // show difference between files
    git diff

    // Delete File and adds it to staging index
    git rm --filename

    //Rename file and adds it to staging index
    // moving and renaming are synonymous
    git mv first_file secondary_file

    // Useful only for modified files. Not for deleted files.
    git commit -am "Commit Message"

    // Undo changes in file
    // can be used for branches and files
    // -- indicates that we're not checking out on branch,
    // we're checking out file in the current branch
    git checkout -- index.html // undos changes in index.html file

    //Unstage changes in file
    git reset HEAD filename.txt

    // Amending commits (Make changes to recent commit)
    git commit --amend m "New commit message"

    // See changes in staged file
    git diff --staged

    // RESET IS LIKE REWINDING
    // Reverting changes to commit
    // Undo changes in commit
    git revert ed5f91c77f52b3c9ff

    // Soft Reset
    git reset --soft 7f988b5956661ea8

    // Mixed Reset
    git reset --mixed 7f988b5956661ea8

    // Hard Reset
    git reset --hard 7f988b5956661ea8

    // Delete untracked files
    git clean -f


    // Sample .ignore file
    # comment
    tempfile.txt
    *.zip
    *.gz
    log/*.log.[0-9]
    assets/photoshop/
    assets/videos/
    # Do not ignore videos in this directory
    !assets/videos/tour_*.mp4

    // Ignore tracked files and not remove the file from the directory
    git rm --cached tempfile2.txt

    // Track empty directories
    add .gitkeep in it

    // Create new branch
    git branch name_of_branch

    // Create a new branch and checkout on it
    git checkout -b name_of_branch

    // Compare changes between two branches
    git diff master..name_of_branch

    // checks if commits are merged in current branch
    git branch --merged

    // Rename a branch
    git branch -m name_of_branch name_of_new_branch

    // Branch to delete
    git branch -d branch_to_delete

    // set command prompt to show directory and current branch currently working i.e(explore_california(master) > )
    // must be added to .bash_profile file in user/home directory
    export PS1='\W$(__git_ps1 "(%s)") > '

    // Merge current branch to master branch
    // Firstly, checkout to branch you want it to be merged ie (git checkout master)
    // branch_to_merge will be merged to master branch
    git merge branch_to_merge

    // show changes on commits
    git show 58b3bfc

    // Saving changes in stash
    git stash save "Message"

    // Show stash list
    git stash list

    // Show edits in stash
    git stash show -p stash@{0}

    // Apply changes on a particular stash and delete it
    git stash pop stash@{0}

    // Apply changes on stash but not delete the stash
    git stash apply

    // Delete/drop particular stash
    git stash drop stash@{0}

    // Clear all stashes
    git stash clear

    // Add remote repository and push it in remote server
    // Track remote branches
    git remote add origin https://github.com/manters2000/lynda-explore-california-git-training.git
    git push -u origin master

    // show remote and local branches
    git branch -a

    // FETCH GUIDELINES:
    // fetch from remote repository for synchronization
    // - always fetch before work
    // - fetch before you push
    // - fetch often
    git fetch


    // Merge from origin master to master branch
    // git pull = git fetch + git merge
    git pull origin master

    // Delete a remote repository
    // prepend a colon to the remote branch name
    git push origin :non_tracking
    git push origin --delete non_tracking

    SAMPLE COLLABORATION WORKFLOW
    - git checkout master (Should be on Master branch)
    - git fetch (Find out what new commits has been changed)
    - git merge origin/master (merge changes from local master branch to remote master branch to be totally in synced)
    - git checkout -b feedback_form (creates feedback form branch as a new feature for the new site)
    - git add feedback.html (Add for staging area)
    - git commit -m "Add customer feedback form"
    - git fetch (for any changes added to another collaborates)
    - git push -u origin feedback_form