diff --git a/404.html b/404.html index 50dd7e1d..819a2b34 100644 --- a/404.html +++ b/404.html @@ -12,4 +12,4 @@ } } }) -
Skip to main contentEric N. Garcia

Something’s gone wrong...

Sorry, we can’t find the page you are looking for. Maybe some of these most visited links will help you?

404
\ No newline at end of file +
Skip to main contentEric N. Garcia

Something’s gone wrong...

Sorry, we can’t find the page you are looking for. Maybe some of these most visited links will help you?

404
\ No newline at end of file diff --git a/404/index.html b/404/index.html index 3d4929d0..affb2781 100644 --- a/404/index.html +++ b/404/index.html @@ -12,4 +12,4 @@ } } }) -
Skip to main contentEric N. Garcia

Something’s gone wrong...

Sorry, we can’t find the page you are looking for. Maybe some of these most visited links will help you?

404
\ No newline at end of file +
Skip to main contentEric N. Garcia

Something’s gone wrong...

Sorry, we can’t find the page you are looking for. Maybe some of these most visited links will help you?

404
\ No newline at end of file diff --git a/about/index.html b/about/index.html index c055f289..766961fb 100644 --- a/about/index.html +++ b/about/index.html @@ -25,4 +25,4 @@ Analytics & Enterprise Integration as part of the API Connect team.

If you would like to see some of the projects and applications I have worked on this can be found in my Portfolio

Education

Full Sail

Classes were focused on teaching a few skills each week and require you to build an app with specific requirements to show comprehension of skills taught. Degree overview.

Development-centered Courses Completed

For detailed description of -courses please refer to: Courses

\ No newline at end of file +courses please refer to: Courses

\ No newline at end of file diff --git a/about/test/index.html b/about/test/index.html index 195a28bb..d00c9938 100644 --- a/about/test/index.html +++ b/about/test/index.html @@ -12,4 +12,4 @@ } } }) -
Skip to main contentEric N. Garcia

About / Test

Test file

This is a test md file that should not actually be downloadable…

\ No newline at end of file +
Skip to main contentEric N. Garcia

About / Test

Test file

This is a test md file that should not actually be downloadable…

\ No newline at end of file diff --git a/android/android/index.html b/android/android/index.html index bfa722ce..654b3b1e 100644 --- a/android/android/index.html +++ b/android/android/index.html @@ -14,4 +14,4 @@ })
Skip to main contentEric N. Garcia

Android

Eclipse

Download the ADT Plugin

  1. Start Eclipse, then select Help > Install New Software.

  2. Click Add, in the top-right corner.

  3. In the Add Repository dialog that appears, enter “ADT Plugin” for the Name and the following URL for the Location: https://dl-ssl.google.com/android/eclipse/

  4. Click OK.

    If you have trouble acquiring the plugin, try using “http” in the Location URL, instead of “https” (https is preferred for security reasons).

  5. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.

  6. In the next window, you’ll see a list of the tools to be downloaded. Click Next.

  7. Read and accept the license agreements, then click Finish.
    -If you get a security warning saying that the authenticity or validity of the software can’t be established, click OK.

  8. When the installation completes, restart Eclipse.

\ No newline at end of file +If you get a security warning saying that the authenticity or validity of the software can’t be established, click OK.

  • When the installation completes, restart Eclipse.

  • \ No newline at end of file diff --git a/apps/fun-facts/index.html b/apps/fun-facts/index.html index bc65d55e..d0b15a53 100644 --- a/apps/fun-facts/index.html +++ b/apps/fun-facts/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Fun Facts

    Overview

    Currently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.

    Privacy Policy

    Download

    Available for:

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Fun Facts

    Overview

    Currently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.

    Privacy Policy

    Download

    Available for:

    \ No newline at end of file diff --git a/apps/fun-facts/privacy/index.html b/apps/fun-facts/privacy/index.html index 17a0b823..e2908ce0 100644 --- a/apps/fun-facts/privacy/index.html +++ b/apps/fun-facts/privacy/index.html @@ -57,4 +57,4 @@ information, please contact me so that I will be able to do necessary actions.

    Changes to This Privacy Policy

    I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page.

    This policy is effective as of 2020-05-04

    Contact Us

    If you have any questions or suggestions about my Privacy Policy, do not -hesitate to contact me at support.funfacts@garciaericn.com.

    This privacy policy page was created at

    privacypolicytemplate.netand modified/generated byApp Privacy Policy Generator
    \ No newline at end of file +hesitate to contact me at support.funfacts@garciaericn.com.

    This privacy policy page was created at

    privacypolicytemplate.netand modified/generated byApp Privacy Policy Generator
    \ No newline at end of file diff --git a/apps/index.html b/apps/index.html index 6ea2eded..5c0ec256 100644 --- a/apps/index.html +++ b/apps/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Apps

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Apps

    \ No newline at end of file diff --git a/apps/memory-vault/index.html b/apps/memory-vault/index.html index 32d21ce9..6dc2894e 100644 --- a/apps/memory-vault/index.html +++ b/apps/memory-vault/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Memory Vault

    Overview

    Memory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe…even if your phone isn’t.

    Download

    Available for:

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Memory Vault

    Overview

    Memory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe…even if your phone isn’t.

    Download

    Available for:

    \ No newline at end of file diff --git a/career/roadmap/index.html b/career/roadmap/index.html index ae4c2d4b..135a82ee 100644 --- a/career/roadmap/index.html +++ b/career/roadmap/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Career roadmap

    Back to notes landing page

    A place to keep track of my career milestones.

    2023

    2023Q3

    2023Q2

    • Spoke on Chapter calls
      • Discussed untyped const standards for go repository

    2023Q1

    • Resolve security vulnerabilities within 24 turn around all the way through a hot fix to production environments.
      • It was found that our frontend config was printing all secrets and api keys.
      • It was also found that our backend services was printing all secrets and config changes through the watcher…which was corrected with another fix that was set up within 24hrs or reporting.
    • Optimize constants for micro backend. By converting all constants to unsigned constants.

    2022

    2022Q4

    2021

    2020

    2020Q1

    2019

    2019Q3

    2018

    2017

    Wrote sample applications (reusable assets)

    2016

    2016Q3

    2015

    • Graduated from Full Sail University
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Career roadmap

    Back to notes landing page

    A place to keep track of my career milestones.

    2023

    2023Q3

    2023Q2

    • Spoke on Chapter calls
      • Discussed untyped const standards for go repository

    2023Q1

    • Resolve security vulnerabilities within 24 turn around all the way through a hot fix to production environments.
      • It was found that our frontend config was printing all secrets and api keys.
      • It was also found that our backend services was printing all secrets and config changes through the watcher…which was corrected with another fix that was set up within 24hrs or reporting.
    • Optimize constants for micro backend. By converting all constants to unsigned constants.

    2022

    2022Q4

    2021

    2020

    2020Q1

    2019

    2019Q3

    2018

    2017

    Wrote sample applications (reusable assets)

    2016

    2016Q3

    2015

    • Graduated from Full Sail University
    \ No newline at end of file diff --git a/code-notes/bash/index.html b/code-notes/bash/index.html index e5478551..ea9917fd 100644 --- a/code-notes/bash/index.html +++ b/code-notes/bash/index.html @@ -13,4 +13,4 @@ } })
    Skip to main contentEric N. Garcia

    Bash

    This page hosts snippets and resources for bash scripting

    Snippets

    Snippet to check all required environment variable are present before executing a script.

    ReqVars=("EX_VAR_1" "EX_VAR_2" "EX_VAR_3")
    -
    for i in "${ReqVars[@]}"; do
    if [[ -z ${!i} ]]; then
    echo "$i is a required environment variable, please ensure it is set correctly. Then re-run this script."
    exit 1
    fi
    done

    Other resources

    \ No newline at end of file +
    for i in "${ReqVars[@]}"; do
    if [[ -z ${!i} ]]; then
    echo "$i is a required environment variable, please ensure it is set correctly. Then re-run this script."
    exit 1
    fi
    done

    Other resources

    \ No newline at end of file diff --git a/code-notes/cheat-sheets/bash/index.html b/code-notes/cheat-sheets/bash/index.html index 6c939ecf..652c81be 100644 --- a/code-notes/cheat-sheets/bash/index.html +++ b/code-notes/cheat-sheets/bash/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    bash

    This page holds bash cheat sheets

    Finding file with particular extensions to open in vs code

    https://stackoverflow.com/a/69690491
    find . -iname "*\.{file-extension}" -print0 | xargs -0 code

    Printing the last exit code

    Sometimes you need to read the exit code of the last ran command, to check it if succeeded or failed. To do so exicute the following command.

    echo $?
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    bash

    This page holds bash cheat sheets

    Finding file with particular extensions to open in vs code

    https://stackoverflow.com/a/69690491
    find . -iname "*\.{file-extension}" -print0 | xargs -0 code

    Printing the last exit code

    Sometimes you need to read the exit code of the last ran command, to check it if succeeded or failed. To do so exicute the following command.

    echo $?
    \ No newline at end of file diff --git a/code-notes/cheat-sheets/elasticsearch/index.html b/code-notes/cheat-sheets/elasticsearch/index.html index 3e8cd1f8..c41156e3 100644 --- a/code-notes/cheat-sheets/elasticsearch/index.html +++ b/code-notes/cheat-sheets/elasticsearch/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Elasticsearch

    This page outlines some basic but common queries used when working with elasticsearch data.

    Common Queries

    Checking status

    • curl -XGET 'localhost:9200/_cat/indices?v&pretty'
    • curl -XGET 'localhost:9200/_cat/health?v&pretty'
    • curl -XGET 'localhost:9200/_cat/nodes?v&pretty'

    Searching

    • curl -XGET 'localhost:9200/.kibana/_search/?pretty'
    • curl -XGET 'localhost:9200/.kibana/_mappings/?pretty'
      • This will git you the mappings, you can pipe it to the clipboard, and past in text editor for easy consumption by adding | pbcopy to the end.
    • curl -XGET 'localhost:9200/_template?pretty'

    Adding data

    • curl -XPUT 'localhost:9200/.kibana/doc/1' -d '{"type": "apic", "apic" : {"title": "eng"}}' -H 'Content-Type:application/json'

    Removing data

    • curl -XDELETE 'localhost:9200/.kibana_1'
    • curl -XDELETE 'localhost:9200/_template/kibana_index_template:.kibana'
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Elasticsearch

    This page outlines some basic but common queries used when working with elasticsearch data.

    Common Queries

    Checking status

    • curl -XGET 'localhost:9200/_cat/indices?v&pretty'
    • curl -XGET 'localhost:9200/_cat/health?v&pretty'
    • curl -XGET 'localhost:9200/_cat/nodes?v&pretty'

    Searching

    • curl -XGET 'localhost:9200/.kibana/_search/?pretty'
    • curl -XGET 'localhost:9200/.kibana/_mappings/?pretty'
      • This will git you the mappings, you can pipe it to the clipboard, and past in text editor for easy consumption by adding | pbcopy to the end.
    • curl -XGET 'localhost:9200/_template?pretty'

    Adding data

    • curl -XPUT 'localhost:9200/.kibana/doc/1' -d '{"type": "apic", "apic" : {"title": "eng"}}' -H 'Content-Type:application/json'

    Removing data

    • curl -XDELETE 'localhost:9200/.kibana_1'
    • curl -XDELETE 'localhost:9200/_template/kibana_index_template:.kibana'
    \ No newline at end of file diff --git a/code-notes/cheat-sheets/grep/index.html b/code-notes/cheat-sheets/grep/index.html index 7071d9dd..60242315 100644 --- a/code-notes/cheat-sheets/grep/index.html +++ b/code-notes/cheat-sheets/grep/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    grep

    This is a grep cheatsheet sourced from Ryan’s Tutorials

    This cheat sheet is intended to be a quick reminder for the main concepts involved in using the command line program grep and assumes you already understand its usage. If you are new to the Linux command line we strongly suggest you work through the tutorial.

    Visit the Grep and Regular Expressions page in our tutorial for a more in depth discussion on their usage.

    Main Linux Cheat Sheet page.

    Basic Usage

    CommandDescription
    egrep or grep -ERun grep with extended regular expressions.
    -iIgnore case (ie uppercase, lowercase letters).
    -vReturn all lines which don’t match the pattern.
    -wSelect only matches that form whole words.
    -cPrint a count of matching lines.
    Can be combined with the -v option to print a count of non matching lines.
    -lPrint the name of each file which contains a match.
    Normally used when grep is invoked with wildcards for the file argument.
    -nPrint the line number before each line that matches.
    -rRecursive, read all files in given directory and subdirectories.

    Regular Expressions

    CommandDescription
    .A single character
    [abc]Range. ie any one of these characters
    [^abc]Not range. A character that is not one of those enclosed.
    (abc)Group these characters and remember for later.
    \nReplace n with a number. Recall the characters matched in that set of brackets.
    May also be used to rename files or directories.
    ``
    \In front of a character, removes it’s special meaning.

    RE Multipliers

    CommandDescription
    ?The preceding item is optional, it is matched zero or one times.
    *The preceding item will be matched zero or more times.
    +The preceding item will be matched one or more times.
    {n}The preceding item will be matched exactly n times.
    {n,}The preceding item will be matched n or more times.
    {n,m}The preceding item will be matched between n and m times.

    RE Anchors

    CommandDescription
    ^From the beginning of the line.
    $To the end of the line.
    \<At the beginning of a word.
    \>At the end of a word.
    \bMatch either the beginning or end of a word.

    Some Examples

    CommandDescription
    egrep 'mellon' myFile.txtPrint every line in myFile.txt containing the string ‘mellon’.
    egrep -n 'mellon' myFile.txtSame as above but print a line number before each line.
    egrep '(.)bb\1' myFile.txtFind every line with 2 b’s and the same character both before and after those b’s.
    egrep -l '[0-9]{8,}' /files/projectX/*Print each file in the directory projectX which contains a number of 8 digits or more.
    egrep '\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b' myFile.txtPrint every line of myFiles.txt containing an email address.
    Note: this is just a simple email matching pattern. There is a miniscule number of email addresses it will not match.
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    grep

    This is a grep cheatsheet sourced from Ryan’s Tutorials

    This cheat sheet is intended to be a quick reminder for the main concepts involved in using the command line program grep and assumes you already understand its usage. If you are new to the Linux command line we strongly suggest you work through the tutorial.

    Visit the Grep and Regular Expressions page in our tutorial for a more in depth discussion on their usage.

    Main Linux Cheat Sheet page.

    Basic Usage

    CommandDescription
    egrep or grep -ERun grep with extended regular expressions.
    -iIgnore case (ie uppercase, lowercase letters).
    -vReturn all lines which don’t match the pattern.
    -wSelect only matches that form whole words.
    -cPrint a count of matching lines.
    Can be combined with the -v option to print a count of non matching lines.
    -lPrint the name of each file which contains a match.
    Normally used when grep is invoked with wildcards for the file argument.
    -nPrint the line number before each line that matches.
    -rRecursive, read all files in given directory and subdirectories.

    Regular Expressions

    CommandDescription
    .A single character
    [abc]Range. ie any one of these characters
    [^abc]Not range. A character that is not one of those enclosed.
    (abc)Group these characters and remember for later.
    \nReplace n with a number. Recall the characters matched in that set of brackets.
    May also be used to rename files or directories.
    ``
    \In front of a character, removes it’s special meaning.

    RE Multipliers

    CommandDescription
    ?The preceding item is optional, it is matched zero or one times.
    *The preceding item will be matched zero or more times.
    +The preceding item will be matched one or more times.
    {n}The preceding item will be matched exactly n times.
    {n,}The preceding item will be matched n or more times.
    {n,m}The preceding item will be matched between n and m times.

    RE Anchors

    CommandDescription
    ^From the beginning of the line.
    $To the end of the line.
    \<At the beginning of a word.
    \>At the end of a word.
    \bMatch either the beginning or end of a word.

    Some Examples

    CommandDescription
    egrep 'mellon' myFile.txtPrint every line in myFile.txt containing the string ‘mellon’.
    egrep -n 'mellon' myFile.txtSame as above but print a line number before each line.
    egrep '(.)bb\1' myFile.txtFind every line with 2 b’s and the same character both before and after those b’s.
    egrep -l '[0-9]{8,}' /files/projectX/*Print each file in the directory projectX which contains a number of 8 digits or more.
    egrep '\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b' myFile.txtPrint every line of myFiles.txt containing an email address.
    Note: this is just a simple email matching pattern. There is a miniscule number of email addresses it will not match.
    \ No newline at end of file diff --git a/code-notes/cheat-sheets/kubernetes/index.html b/code-notes/cheat-sheets/kubernetes/index.html index 1c11077c..7e04fa20 100644 --- a/code-notes/cheat-sheets/kubernetes/index.html +++ b/code-notes/cheat-sheets/kubernetes/index.html @@ -15,4 +15,4 @@
    Skip to main contentEric N. Garcia

    Kubernetes

    Kubernetes notes and cheatsheet

    Special Use Cases

    If you need too delete a pod, and can not wait for it to stop and terminate, you can force the delettions with the following:

    kubectl delete pods -n <namespace> --grace-period=0 --force

    Flags

    • --grace-period: Period of time in seconds given to the resource to terminate gracefully. Ignored if negative. Set to 1 for immediate shutdown. Can only be set to 0 when —force is true (force deletion).
    • --force: Only used when grace-period=0. If true, immediately remove resources from API and bypass graceful deletion. Note that immediate deletion of some resources may result in inconsistency or data loss and requires confirmation.

    General Troubleshooting

    Below are a few basic general areas to look into when trying to debug a issues depending on what the problem is.

    • Describe pod
    • logs pod
    • exec into pod to see whats going on

    Deleting A Namespace

    delete_namespace.sh
    #!/bin/bash
    # ./delete_namespace.sh <namespace>
    export k8s_namespace=$1
    -
    echo "~~ Removing deployments ~~"
    kubectl get deployment -n "$k8s_namespace" | grep -v NAME | awk '{print $1}' | xargs -I arg kubectl delete deployment -n "$k8s_namespace" arg
    echo ""
    \ No newline at end of file +
    echo "~~ Removing deployments ~~"
    kubectl get deployment -n "$k8s_namespace" | grep -v NAME | awk '{print $1}' | xargs -I arg kubectl delete deployment -n "$k8s_namespace" arg
    echo ""
    \ No newline at end of file diff --git a/code-notes/cheat-sheets/markdown/index.html b/code-notes/cheat-sheets/markdown/index.html index 12171c53..52db713a 100644 --- a/code-notes/cheat-sheets/markdown/index.html +++ b/code-notes/cheat-sheets/markdown/index.html @@ -45,4 +45,4 @@
    Asterisks

    Three or more…


    Hyphens


    Asterisks


    Underscores

    Line Breaks

    My basic recommendation for learning how line breaks work is to experiment and discover — hit <Enter> once (i.e., insert one newline), then hit it twice (i.e., insert two newlines), see what happens. You’ll soon learn to get what you want. “Markdown Toggle” is your friend.

    Here are some things to try out:

    Here's a line for us to start with.
    This line is separated from the one above by two newlines, so it will be a *separate paragraph*.
    This line is also a separate paragraph, but...
    This line is only separated by a single newline, so it's a separate line in the *same paragraph*.

    Here’s a line for us to start with.

    This line is separated from the one above by two newlines, so it will be a separate paragraph.

    This line is also begins a separate paragraph, but… -This line is only separated by a single newline, so it’s a separate line in the same paragraph.

    (Technical note: Markdown Here uses GFM line breaks, so there’s no need to use MD’s two-space line breaks.)

    YouTube Videos

    They can’t be added directly but you can add an image with a link to the video like this:

    <a href="http://www.youtube.com/watch?feature=player_embedded&v=YOUTUBE_VIDEO_ID_HERE
    " target="_blank"><img src="http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg"
    alt="IMAGE ALT TEXT HERE" width="240" height="180" border="10" /></a>

    Or, in pure Markdown, but losing the image sizing and border:

    [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)

    Referencing a bug by #bugID in your git commit links it to the slip. For example #1.


    License: CC-BY


    source

    \ No newline at end of file +This line is only separated by a single newline, so it’s a separate line in the same paragraph.

    (Technical note: Markdown Here uses GFM line breaks, so there’s no need to use MD’s two-space line breaks.)

    YouTube Videos

    They can’t be added directly but you can add an image with a link to the video like this:

    <a href="http://www.youtube.com/watch?feature=player_embedded&v=YOUTUBE_VIDEO_ID_HERE
    " target="_blank"><img src="http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg"
    alt="IMAGE ALT TEXT HERE" width="240" height="180" border="10" /></a>

    Or, in pure Markdown, but losing the image sizing and border:

    [![IMAGE ALT TEXT HERE](http://img.youtube.com/vi/YOUTUBE_VIDEO_ID_HERE/0.jpg)](http://www.youtube.com/watch?v=YOUTUBE_VIDEO_ID_HERE)

    Referencing a bug by #bugID in your git commit links it to the slip. For example #1.


    License: CC-BY


    source

    \ No newline at end of file diff --git a/code-notes/cheat-sheets/vi/index.html b/code-notes/cheat-sheets/vi/index.html index b8d93ec9..0973165f 100644 --- a/code-notes/cheat-sheets/vi/index.html +++ b/code-notes/cheat-sheets/vi/index.html @@ -13,4 +13,4 @@ } })
    Skip to main contentEric N. Garcia

    vi

    This is a vi cheatsheet sourced from source

    Modes

    Vi has two modes insertion mode and command mode. The editor begins in command mode, where the cursor movement and text deletion and pasting occur. Insertion mode begins upon entering an insertion or change command. [ESC] returns the editor to command mode (where you can quit, for example by typing :q!). Most commands execute as soon as you type them except for “colon” commands which execute when you press the return key.

    Quitting

    CommandDescription
    :xExit, saving changes
    :qExit as long as there have been no changes
    ZZExit and save changes if any have been made
    :q!Exit and ignore any changes

    Inserting Text

    CommandDescription
    iInsert before cursor
    IInsert before line
    aAppend after cursor
    AAppend after line
    oOpen a new line after current line
    OOpen a new line before current line
    rReplace one character
    RReplace many characters

    Motion

    CommandDescription
    hMove left
    jMove down
    kMove up
    lMove right
    wMove to next word
    WMove to next blank delimited word
    bMove to the beginning of the word
    BMove to the beginning of blank delimited word
    eMove to the end of the word
    EMove to the end of Blank delimited word
    (Move a sentence back
    )Move a sentence forward
    {Move a paragraph back
    }Move a paragraph forward
    0Move to the beginning of the line
    $Move to the end of the line
    1GMove to the first line of the file
    GMove to the last line of the file
    nGMove to nth line of the file
    :nMove to nth line of the file
    fcMove forward to c
    FcMove back to c
    HMove to top of screen
    MMove to middle of screen
    LMove to bottom of screen
    %Move to associated ( ), { }, [ ]

    Deleting Text

    Almost all deletion commands are performed by typing d followed by a motion. For example, dw deletes a word. A few other deletes are:

    CommandDescription
    xDelete character to the right of cursor
    XDelete character to the left of cursor
    DDelete to the end of the line
    ddDelete current line
    :dDelete current line

    Yanking Text

    Like deletion, almost all yank commands are performed by typing y followed by a motion. For example, y\$ yanks to the end of the line. Two other yank commands are:

    CommandDescription
    yyYank the current line
    :yYank the current line

    Changing text

    The change command is a deletion command that leaves the editor in insert mode. It is performed by typing c followed by a motion. For example cw changes a word. A few other change commands are:

    CommandDescription
    CChange to the end of the line
    ccChange the whole line

    Putting text

    CommandDescription
    pPut after the position or after the line
    PPut before the position or before the line

    Buffers

    Named buffers may be specified before any deletion, change, yank or put command. The general prefix has the form “c where c is any lowercase character. for example, “adw deletes a word into buffer a. It may thereafter be put back into text with an appropriate “ap.

    Markers

    Named markers may be set on any line in a file. Any lower case letter may be a marker name. Markers may also be used as -limits for ranges.

    CommandDescription
    mcSet marker c on this line
    `cGo to beginning of marker c line.
    'cGo to first non-blank character of marker c line.

    Search for strings

    CommandDescription
    /stringSearch forward for string
    ?stringSearch back for string
    nSearch for next instance of string
    NSearch for previous instance of string

    Replace

    The search and replace function is accomplished with the :s command. It is commonly used in combination with ranges or the :g command (below).

    CommandDescription
    :s/pattern/string/flagsReplace pattern with string according to flags.
    gFlag - Replace all occurrences of pattern
    cFlag - Confirm replaces.
    &Repeat last :s command

    Regular Expressions

    CommandDescription
    . (dot)Any single character except newline
    *zero or more occurrence of any character
    [...]Any single character specified in the set
    [^...]Any single character not specified in the set
    ^Anchor - beginning of the line
    $Anchor - end of line
    \<Anchor - beginning of word
    \>Anchor - end of word
    \(...\)Grouping - usually used to group conditions
    \nContents of nth grouping

    […] - Set Examples

    CommandDescription
    [A-Z]The SET from Capital A to Capital Z
    [a-z]The SET from lowercase a to lowercase z
    [0-9]The SET from 0 to 9 (All numerals)
    [./=+]The SET containing . (dot), / (slash), =, and +
    [-A-F]The SET from Capital A to Capital F and the dash (dashes must be specified first)
    [0-9 A-Z]The SET containing all capital letters and digits and a space
    [A-Z][a-zA-Z]In the first position, the SET from Capital A to Capital Z In the second character position, the SET containing all letters

    Regular Expression Examples

    CommandDescription
    /Hello/Matches if the line contains the value Hello
    /^TEST$/Matches if the line contains TEST by itself
    /^[a-zA-Z]/Matches if the line starts with any letter
    /^[a-z].*/Matches if the first character of the line is a-z and there is at least one more of any character following it
    /2134$/Matches if line ends with 2134
    `/(2135)/`Matches is the line contains 21 or 35 Note the use of ( ) with the pipe symbol to specify the ‘or’ condition
    /[0-9]*/Matches if there are zero or more numbers in the line
    /^[^#]/Matches if the first character is not a # in the line

    Notes:

    1. Regular expressions are case sensitive
    2. Regular expressions are to be used where pattern is specified

    Counts

    Nearly every command may be preceded by a number that specifies how many times it is to be performed. For example, 5dw will delete 5 words and 3fe will move the cursor forward to the 3rd occurrence of the letter e. Even insertions may be repeated conveniently with this method, say to insert the same line 100 times.

    Ranges

    Ranges may precede most “colon” commands and cause them to be executed on a line or lines. For example :3,7d would delete lines 3-7. Ranges are commonly combined with the :s command to perform a replacement on several lines, as with :.,\$s/pattern/string/g to make a replacement from the current line to the end of the file.

    CommandDescription
    :n,mRange - Lines n-m
    :.Range - Current line
    :$Range - Last line
    :'cRange - Marker c
    :%Range - All lines in file
    :g/pattern/Range - All lines that contain pattern

    Files

    CommandDescription
    :w fileWrite to file
    :r fileRead file in after line
    :nGo to next file
    :pGo to previous file
    :e fileEdit file
    !!programReplace line with output from program

    Other

    CommandDescription
    ~Toggle upp and lower case
    JJoin lines
    .Repeat last text-changing command
    uUndo last change
    UUndo all changes to line
    \ No newline at end of file +limits for ranges.

    CommandDescription
    mcSet marker c on this line
    `cGo to beginning of marker c line.
    'cGo to first non-blank character of marker c line.

    Search for strings

    CommandDescription
    /stringSearch forward for string
    ?stringSearch back for string
    nSearch for next instance of string
    NSearch for previous instance of string

    Replace

    The search and replace function is accomplished with the :s command. It is commonly used in combination with ranges or the :g command (below).

    CommandDescription
    :s/pattern/string/flagsReplace pattern with string according to flags.
    gFlag - Replace all occurrences of pattern
    cFlag - Confirm replaces.
    &Repeat last :s command

    Regular Expressions

    CommandDescription
    . (dot)Any single character except newline
    *zero or more occurrence of any character
    [...]Any single character specified in the set
    [^...]Any single character not specified in the set
    ^Anchor - beginning of the line
    $Anchor - end of line
    \<Anchor - beginning of word
    \>Anchor - end of word
    \(...\)Grouping - usually used to group conditions
    \nContents of nth grouping

    […] - Set Examples

    CommandDescription
    [A-Z]The SET from Capital A to Capital Z
    [a-z]The SET from lowercase a to lowercase z
    [0-9]The SET from 0 to 9 (All numerals)
    [./=+]The SET containing . (dot), / (slash), =, and +
    [-A-F]The SET from Capital A to Capital F and the dash (dashes must be specified first)
    [0-9 A-Z]The SET containing all capital letters and digits and a space
    [A-Z][a-zA-Z]In the first position, the SET from Capital A to Capital Z In the second character position, the SET containing all letters

    Regular Expression Examples

    CommandDescription
    /Hello/Matches if the line contains the value Hello
    /^TEST$/Matches if the line contains TEST by itself
    /^[a-zA-Z]/Matches if the line starts with any letter
    /^[a-z].*/Matches if the first character of the line is a-z and there is at least one more of any character following it
    /2134$/Matches if line ends with 2134
    `/(2135)/`Matches is the line contains 21 or 35 Note the use of ( ) with the pipe symbol to specify the ‘or’ condition
    /[0-9]*/Matches if there are zero or more numbers in the line
    /^[^#]/Matches if the first character is not a # in the line

    Notes:

    1. Regular expressions are case sensitive
    2. Regular expressions are to be used where pattern is specified

    Counts

    Nearly every command may be preceded by a number that specifies how many times it is to be performed. For example, 5dw will delete 5 words and 3fe will move the cursor forward to the 3rd occurrence of the letter e. Even insertions may be repeated conveniently with this method, say to insert the same line 100 times.

    Ranges

    Ranges may precede most “colon” commands and cause them to be executed on a line or lines. For example :3,7d would delete lines 3-7. Ranges are commonly combined with the :s command to perform a replacement on several lines, as with :.,\$s/pattern/string/g to make a replacement from the current line to the end of the file.

    CommandDescription
    :n,mRange - Lines n-m
    :.Range - Current line
    :$Range - Last line
    :'cRange - Marker c
    :%Range - All lines in file
    :g/pattern/Range - All lines that contain pattern

    Files

    CommandDescription
    :w fileWrite to file
    :r fileRead file in after line
    :nGo to next file
    :pGo to previous file
    :e fileEdit file
    !!programReplace line with output from program

    Other

    CommandDescription
    ~Toggle upp and lower case
    JJoin lines
    .Repeat last text-changing command
    uUndo last change
    UUndo all changes to line
    \ No newline at end of file diff --git a/code-notes/git/index.html b/code-notes/git/index.html index 6e692b55..7070f241 100644 --- a/code-notes/git/index.html +++ b/code-notes/git/index.html @@ -13,4 +13,4 @@ } })
    Skip to main contentEric N. Garcia

    git

    This page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed.

    Commits

    Amending a Commit Message

    Changing a commit message can cause lots of problems if not handled correctly. Only use the following if absolutely necessary.

    Local commits

    To open your editor, allowing you to change the commit message of the most recent commit:

    git commit --amend

    Additionally, you can set the commit message directly in the command line with:

    git commit --amend -m "New commit message"

    …however, this can make multi-line commit messages or small corrections more cumbersome to enter.

    Make sure you don’t have any working directory changes before doing this or they can get committed too.

    Remote commits

    Changing the message of a commit that you’ve already pushed to your remote branch

    Warning: be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you’ve rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.

    If you’ve already pushed your commit up to your remote branch, then you’ll need to force push the commit with

    git push <remote> <branch> --force

    Or

    git push <remote> <branch> -f

    Warning: force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don’t have in your local branch, you will lose those commits.

    Past Commits

    You can use rebase to edit a past commit by passing the commit hash, with the following:

    git rebase -i '<commit-hash>^'

    Once your editor is opened with the rebase dialog, put edit as the action word for that commit. Save and close. Open the project and make the changes you wanted to update to that commit. To keep the same commit message you have previously use:

    git commit --all --amend --no-edit

    Now you can use git rebase --continue and go a git push -f to force push your changes to the remote repo.

    Checkout

    To check out a file form another branch:

    git checkout <src-branch> -- <path/to/file>

    Branching

    I follow git branching naming convention outline in this gist

    List all branches including remotes

    git branch -a

    Resetting local branch to match remote

    Back to main header: Branching

    Setting your branch to exactly match the remote branch can be done in two steps:

    git fetch origin
    git reset --hard origin/master

    If you want to save your current branch’s state before doing this (just in case), you can do:

    git commit -a -m "Saving my work, just in case"
    git branch my-saved-work

    Also see git clean

    Deleting a remote branch

    Back to main header: Branching

    git push origin :<branch-name>

    Local branches

    Back to main header: Branching

    At first, list all local branches:

    git branch

    We need to know what branches are already merged in “master” and can be easily removed:

    git checkout master
    git branch --merged

    Now, remove all outdated branches with:

    git branch -d <branch-name-old-merged-feature>

    Next, decide what to do with not merged branches:

    git branch --no-merged

    If some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:

    git branch -D old-abandoned-feature

    Delete all local branches except main

    Back to main header: Branching

    You can do a dry run to see all branches this command will delete first by running the following:

    git branch | grep -v $(git_main_branch)

    If this matches what you are looking to delete, you can run the following to actually delete the branch.

    git branch | grep -v $(git_main_branch) | xargs git branch -D

    References to remote branches

    Back to main header: Branching

    After each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.

    List referenced remote branches:

    git branch -r

    Clean-up outdated references:

    git remote prune origin

    Update repository with: git fetch -p and Git automatically prunes all stale references.

    Remote branches

    Back to main header: Branching

    Usually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.

    After previous git remote prune origin we should have synched list of remote branches.

    At first, we can find branches which are already merged in “master”:

    git checkout master
    $ git branch -r --merged

    But this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.

    This magic snippet provides all required information:

    for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    Now, you can delete own remote branches, and ask other authors to clean-up theirs:

    git push origin --delete branch-name

    Similar snippet for not merged branches:

    for branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    This list should be reviewed more thoroughly to avoid losing important commits.

    Clean

    Perform a “dry run” of git clean. This will show you which files are going to be removed without actually doing it.

    git clean -n

    Remove untracked files from the current directory. The -f (force) flag is required unless the clean.requireForce configuration option is set to false (it’s true by default). This will not remove untracked folders or files specified by .gitignore.

    git clean -f

    Remove untracked files, but limit the operation to the specified path.

    git clean -f <path>

    Remove untracked files and untracked directories from the current directory.

    git clean -df

    Remove untracked files from the current directory as well as any files that Git usually ignores.

    git clean -xf

    Example

    • Edit some existing files
    • Add some new files
    • Realize you have no idea what you’re doing

    Undo changes in tracked files

    git reset --hard

    Remove untracked files

    git clean -df

    Diff

    Simply use git diff and a file name to check difference between committed and non staged changes.

    git diff FILE_NAME

    If you need to verify the difference of a file that is already staged use the following.

    git diff --staged FILE_NAME

    If you you want to diff two branches use the following.

    git diff main...develop
    -
    # or to compare with the current branch simply
    git diff OTHER_BRANCH_NAME

    You can also use some useful flags with this command if the output it to great.

    • --name-only to see only the file names.
    • -- fileOrDirectory add this to the end if you want to check only a particular file or directory.

    Git diff with opendiff

    mkdir ~/bin/
    touch ~/bin/git-diff.sh

    The contents of the file will look like this:

    #!/bin/sh
    /usr/bin/opendiff "$2" "$5" -merge "$1"

    Once the script has been made, you’ll want it to be executable

    chmod u+x ~/bin/git-diff.sh

    Finally, tell git that you want to set it up as your default merge tool:

    git config --global diff.external ~/bin/git-diff.sh

    If you later decide you hate it, run this command to go back:

    git config --global --unset diff.external

    Excluding files

    Ignoring tracked files in your local repo

    git update-index --skip-worktree SOME_FILE

    or

    git update-index --assume-unchanged SOME_FILE

    To undo assume unchanged

    git update-index --no-assume-unchanged SOME_FILE

    If using assume-unchanged you can add the following to your ~/.gitconfig

    This will allow you to use the alias git ignored to list all excluded files

    [alias]
    ignored = !git ls-files -v | grep "^[[:lower:]]"

    Ignoring un-tracked files in your local repo

    Untested

    If you ever want to ignore a file from git, but don’t want to add it to the .gitignore file, you can do it on your local copy by adding it to the file .git/info/exclude

    I’ve setup an alias to do so, just add this to your .gitconfig file under the [alias] section

    exclude = !sh -c 'echo "$1" >> .git/info/exclude' -

    Then you can execute:

    git exclude SOME_FILE

    Forking

    When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:

    git remote add theirUsername git@github.com:theirUsername/repoName.git
    git fetch theirUsername
    git checkout -b my_name_for_their_branch theirUsername/theirBranch

    Example

    Following directions for Keeping your fork in sync for the DevCetner.

    In this example I will be demonstrating creating a GA branch from upstream, in my local environment. I will be prefixing the remote GA branch with my initials to have a differentiation between the upstream branch and my local (forked) copy.

    You can set upstream as the repo to follow (userName)

    git remote add upstream git@github.ibm.com:MFPSamples/DevCenter

    Once this is done your are free to fetch and pull code from the upstream witch is the source repo for all changes (representing another userName).

    git fetch upstream
    git merge upstream/master

    Note: This is assuming you are trying to merge to you local (forked) master branch

    If you need to work off a branch that is in the upstream but not in your local repository (forked) you can create it with a link to upstream as follows:

    git checkout -b ENG-GA upstream/GA

    This line creates a local branch ENG-GA based on upstream/GA. So now you can make updates to your local repo ENG-GA and then push it back to upstream/GA which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge upstream/GA with the following:

    git fetch upstream
    git merge upstream/GA

    Once you are ready to submit your changes back to upstream you can create a pull request via github.com. Ensuring that your base branch is GA and the head branch is ENG-GA. See image for details.

    Pull Request

    .gitignore

    Untracking a single file

    To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:

    git rm --cached filename

    Untracking all files

    To untrack every file that is now in your .gitignore:

    1. Commit any outstanding code changes, and then, run this command:

      git commit -m "Commit message"
    2. This removes any changed files from the index(staging area), then just run:

      git rm -r --cached .
    3. Add all tracked changes

      git add .
    4. Commit it:

      git commit -m ".gitignore is now working"

    Merge conflicts

    Local changes to same files

    To resolve merge conflicts with error.

    error: Your local changes to the following files would be overwritten by merge:

    To stash entire working tree

    git stash save --keep-index

    Now you will be able to merge branch successfully

    If you do not need your local changes you can simple drop the stash

    git stash drop

    or…if you need your changes you can attempt to process them in now using pop

    git stash pop

    To show what is in your stash use show

    git stash show

    Undoing commits

    git commit -m "Something terribly misguided"
    git reset --soft HEAD~
    # << edit files as necessary >>
    git add ...
    git commit -m "New commit message"
    git commit -c ORIG_HEAD

    Delete the most recent commit, keeping the work you’ve done:

    git reset --soft HEAD~1

    Delete the most recent commit, destroying the work you’ve done:

    git reset --hard HEAD~1

    Other Configurations

    git config --global core.trustctime false
    \ No newline at end of file +
    # or to compare with the current branch simply
    git diff OTHER_BRANCH_NAME

    You can also use some useful flags with this command if the output it to great.

    Git diff with opendiff

    Source

    mkdir ~/bin/
    touch ~/bin/git-diff.sh

    The contents of the file will look like this:

    #!/bin/sh
    /usr/bin/opendiff "$2" "$5" -merge "$1"

    Once the script has been made, you’ll want it to be executable

    chmod u+x ~/bin/git-diff.sh

    Finally, tell git that you want to set it up as your default merge tool:

    git config --global diff.external ~/bin/git-diff.sh

    If you later decide you hate it, run this command to go back:

    git config --global --unset diff.external

    Excluding files

    Ignoring tracked files in your local repo

    git update-index --skip-worktree SOME_FILE

    or

    git update-index --assume-unchanged SOME_FILE

    To undo assume unchanged

    git update-index --no-assume-unchanged SOME_FILE

    If using assume-unchanged you can add the following to your ~/.gitconfig

    This will allow you to use the alias git ignored to list all excluded files

    [alias]
    ignored = !git ls-files -v | grep "^[[:lower:]]"

    Ignoring un-tracked files in your local repo

    Untested

    If you ever want to ignore a file from git, but don’t want to add it to the .gitignore file, you can do it on your local copy by adding it to the file .git/info/exclude

    I’ve setup an alias to do so, just add this to your .gitconfig file under the [alias] section

    exclude = !sh -c 'echo "$1" >> .git/info/exclude' -

    Then you can execute:

    git exclude SOME_FILE

    Forking

    Source

    When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:

    git remote add theirUsername git@github.com:theirUsername/repoName.git
    git fetch theirUsername
    git checkout -b my_name_for_their_branch theirUsername/theirBranch

    Example

    Following directions for Keeping your fork in sync for the DevCetner.

    In this example I will be demonstrating creating a GA branch from upstream, in my local environment. I will be prefixing the remote GA branch with my initials to have a differentiation between the upstream branch and my local (forked) copy.

    You can set upstream as the repo to follow (userName)

    git remote add upstream git@github.ibm.com:MFPSamples/DevCenter

    Once this is done your are free to fetch and pull code from the upstream witch is the source repo for all changes (representing another userName).

    git fetch upstream
    git merge upstream/master

    Note: This is assuming you are trying to merge to you local (forked) master branch

    If you need to work off a branch that is in the upstream but not in your local repository (forked) you can create it with a link to upstream as follows:

    git checkout -b ENG-GA upstream/GA

    This line creates a local branch ENG-GA based on upstream/GA. So now you can make updates to your local repo ENG-GA and then push it back to upstream/GA which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge upstream/GA with the following:

    git fetch upstream
    git merge upstream/GA

    Once you are ready to submit your changes back to upstream you can create a pull request via github.com. Ensuring that your base branch is GA and the head branch is ENG-GA. See image for details.

    Pull Request

    .gitignore

    Untracking a single file

    To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:

    git rm --cached filename

    Untracking all files

    To untrack every file that is now in your .gitignore:

    1. Commit any outstanding code changes, and then, run this command:

      git commit -m "Commit message"
    2. This removes any changed files from the index(staging area), then just run:

      git rm -r --cached .
    3. Add all tracked changes

      git add .
    4. Commit it:

      git commit -m ".gitignore is now working"

    Merge conflicts

    Local changes to same files

    To resolve merge conflicts with error.

    error: Your local changes to the following files would be overwritten by merge:

    To stash entire working tree

    git stash save --keep-index

    Now you will be able to merge branch successfully

    If you do not need your local changes you can simple drop the stash

    git stash drop

    or…if you need your changes you can attempt to process them in now using pop

    git stash pop

    To show what is in your stash use show

    git stash show

    Undoing commits

    source

    git commit -m "Something terribly misguided"
    git reset --soft HEAD~
    # << edit files as necessary >>
    git add ...
    git commit -m "New commit message"
    git commit -c ORIG_HEAD

    source

    Delete the most recent commit, keeping the work you’ve done:

    git reset --soft HEAD~1

    Delete the most recent commit, destroying the work you’ve done:

    git reset --hard HEAD~1

    Other Configurations

    git config --global core.trustctime false

    source

    \ No newline at end of file diff --git a/code-notes/go/index.html b/code-notes/go/index.html index 9ba06f50..76421308 100644 --- a/code-notes/go/index.html +++ b/code-notes/go/index.html @@ -22,4 +22,4 @@ tells go to pass in the individual values help by that slice rather than the slice itself.

    Tools as dependencies

    There is a pattern to track tools as dependencies in Go. This is used when you need tools to build your project or generate code for protos, mocks, or any other tools. This pattern is used when those tools are not imported in any files but used by the developer to build the project.

    The simplest way to achieve this is to add a tools.go file to the root of your project. This will serve as an individual package. While the name of this package and file are not important, using a descriptive name is always helpful.

    In this file you must add the go directive // +build tools, and then make sure all tools are listed, in the import section. All the tools should be prefixed with _, which shows that it is not explicitly imported anywhere else, but is required for the package.

    A simple example:

    path/to/project/tools.go
    // +build tools
    package tools
    -
    import (
    _ "github.com/path/to/some/tool"
    )
    Sources

    Additional References

    Comparisons

    Logging frameworks

    This article compares logrus with zap. https://www.libhunt.com/compare-logrus-vs-zap

    \ No newline at end of file +
    import (
    _ "github.com/path/to/some/tool"
    )
    Sources

    Additional References

    Comparisons

    Logging frameworks

    This article compares logrus with zap. https://www.libhunt.com/compare-logrus-vs-zap

    \ No newline at end of file diff --git a/code-notes/homebrew/index.html b/code-notes/homebrew/index.html index acca5938..bb87b321 100644 --- a/code-notes/homebrew/index.html +++ b/code-notes/homebrew/index.html @@ -15,4 +15,4 @@
    Skip to main contentEric N. Garcia

    Homebrew

    Helpful commands while working with brew.

    When trying to install using homebrew

    User does not have permission to write to /usr/local/Cellar and throws following error.

    Error: Cannot write to /usr/local/Cellar

    Attempting to sudo it refuses with following error.

    Cowardly refusing to `sudo brew install'

    You somehow have limited permissions to /usr/local/Cellar. Brew doesn’t like to install with sudo which is why it refuses. Correct the issue with the following commands:

    1. Check the permissions:

      ls -ld /usr/local/Cellar
    2. Open them up for writing:

      sudo chmod a+w /usr/local/Cellar

    Bundle

    Bundle is a very useful command. This command will allow you to keep a backup of all installed packages from brew into a file. That can be backed up and reinstalled on different machines, or to clean up and reset your environments.

    Creating Brewfile

    To create the the Brewfile run the following command:

    # To write to specific file
    brew bundle dump --file=~/.eng/Brewfile
    # To write to current working directory
    brew bundle dump

    Installing from Brewfile

    If you want to ensure you have all packages listed in your Brewfile installed, you can reinstall or do a fresh install (on a new machine) with the following command:

    # Install from specific file
    brew bundle --file=~/.eng/Brewfile
    # Install with Brewfile in current working directory
    brew bundle

    TIP: if you want to overwrite an existing brew file add the --force flag to the above command.

    Resetting local environment

    If your machine has gotten out of hand and you want to forcefully go back to only having packages listed in your Brewfile, you can run the following:

    # Pointing to specific Brewfile
    brew bundle --force cleanup --file=~/.eng/Brewfile
    -
    # Pointing to Brewfile in current working directory
    brew bundle --force cleanup

    Useful taps and packages

    \ No newline at end of file +
    # Pointing to Brewfile in current working directory
    brew bundle --force cleanup

    Useful taps and packages

    \ No newline at end of file diff --git a/contact/index.html b/contact/index.html index 0f3cb4b8..f64ee9c8 100644 --- a/contact/index.html +++ b/contact/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Contact Me

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Contact Me

    \ No newline at end of file diff --git a/contributions/index.html b/contributions/index.html index 61b3728d..cd6a3646 100644 --- a/contributions/index.html +++ b/contributions/index.html @@ -71,4 +71,4 @@ components when combined in common patterns.

    Publishing

    1. Pull the latest from the main branch, usually by running git pull upstream main on your local machine.
    2. From the root of the package run yarn release.
    3. Follow the prompts accordingly.
    4. In the project’s release tab, -edit the new release to include a summary of new changes.
    Page last updated: 27 January 2020
    \ No newline at end of file +edit the new release to include a summary of new changes.
    Page last updated: 27 January 2020
    \ No newline at end of file diff --git a/development/jekyll/index.html b/development/jekyll/index.html index e32e287a..c4f85df5 100644 --- a/development/jekyll/index.html +++ b/development/jekyll/index.html @@ -15,4 +15,4 @@
    Skip to main contentEric N. Garcia

    Jekyll

    Back to notes landing page

    Specifying a :path attribute will install the gem from that path on your local machine

    gem "<gem-name>", :path => "<full-local-path>"

    Alternately, specifying a :git attribute will install the gem from a remote git repository

    "git://github.com/<github-username>/<github-repo>.git"
    # ...or at a specific SHA-1 ref
    gem "<gem-name>", :git => "git://github.com/<github-username>/<github-repo>.git", :ref => "bf648a070c"
    # ...or branch
    gem "<gem-name>", :git => "git://github.com/<github-username>/<github-repo>.git", :branch => "jruby"
    -
    # ...or tag
    \ No newline at end of file +
    # ...or tag
    \ No newline at end of file diff --git a/git/amending_commit_message/index.html b/git/amending_commit_message/index.html index 315ef0bf..185e39a4 100644 --- a/git/amending_commit_message/index.html +++ b/git/amending_commit_message/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Amending a Commit Message

    To open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:

    git commit --amend

    …however, this can make multi-line commit messages or small corrections more cumbersome to enter.

    git commit --amend -m "New commit message"

    Make sure you don’t have any working copy changes before doing this or they can get committed too.

    Changing the message of a commit that you’ve already pushed to your remote branch

    If you’ve already pushed your commit up to your remote branch, then you’ll need to force push the commit with

    git push <remote> <branch> --force

    Or

    git push <remote> <branch> -f

    Warning: force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don’t have in your local branch, you will lose those commits.

    Warning: be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you’ve rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Amending a Commit Message

    To open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:

    git commit --amend

    …however, this can make multi-line commit messages or small corrections more cumbersome to enter.

    git commit --amend -m "New commit message"

    Make sure you don’t have any working copy changes before doing this or they can get committed too.

    Changing the message of a commit that you’ve already pushed to your remote branch

    If you’ve already pushed your commit up to your remote branch, then you’ll need to force push the commit with

    git push <remote> <branch> --force

    Or

    git push <remote> <branch> -f

    Warning: force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don’t have in your local branch, you will lose those commits.

    Warning: be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you’ve rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.

    \ No newline at end of file diff --git a/git/branching/index.html b/git/branching/index.html index ff86fb7c..72db4cf6 100644 --- a/git/branching/index.html +++ b/git/branching/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Git Branching

    I follow git branching naming convention outline in this gist

    List all branches including remotes

    git branch -a

    Resetting local branch to match remote

    Setting your branch to exactly match the remote branch can be done in two steps:

    git fetch origin
    git reset --hard origin/master

    If you want to save your current branch’s state before doing this (just in case), you can do:

    git commit -a -m "Saving my work, just in case"
    git branch my-saved-work

    Tip: Also see git clean

    Deleting a remote branch

    git push origin :<branch-name>

    Local branches

    At first, list all local branches:

    git branch

    We need to know what branches are already merged in “master” and can be easily removed:

    git checkout master
    git branch --merged

    Now, remove all outdated branches with:

    git branch -d <branch-name-old-merged-feature>

    Next, decide what to do with not merged branches:

    git branch --no-merged

    If some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:

    git branch -D old-abandoned-feature

    References to remote branches

    After each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.

    List referenced remote branches:

    git branch -r

    Clean-up outdated references:

    git remote prune origin

    Tip: Update repository with: git fetch -p and Git automatically prunes all stale references.

    Remote branches

    Usually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.

    After previous git remote prune origin we should have synched list of remote branches.

    At first, we can find branches which are already merged in “master”:

    git checkout master
    $ git branch -r --merged

    But this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.

    This magic snippet provides all required information:

    for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    Now, you can delete own remote branches, and ask other authors to clean-up theirs:

    $ git push origin --delete branch-name

    Similar snippet for not merged branches:

    $ for branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    This list should be reviewed more thoroughly to avoid losing important commits.

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Git Branching

    I follow git branching naming convention outline in this gist

    List all branches including remotes

    git branch -a

    Resetting local branch to match remote

    Setting your branch to exactly match the remote branch can be done in two steps:

    git fetch origin
    git reset --hard origin/master

    If you want to save your current branch’s state before doing this (just in case), you can do:

    git commit -a -m "Saving my work, just in case"
    git branch my-saved-work

    Tip: Also see git clean

    Deleting a remote branch

    git push origin :<branch-name>

    Local branches

    At first, list all local branches:

    git branch

    We need to know what branches are already merged in “master” and can be easily removed:

    git checkout master
    git branch --merged

    Now, remove all outdated branches with:

    git branch -d <branch-name-old-merged-feature>

    Next, decide what to do with not merged branches:

    git branch --no-merged

    If some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:

    git branch -D old-abandoned-feature

    References to remote branches

    After each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.

    List referenced remote branches:

    git branch -r

    Clean-up outdated references:

    git remote prune origin

    Tip: Update repository with: git fetch -p and Git automatically prunes all stale references.

    Remote branches

    Usually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.

    After previous git remote prune origin we should have synched list of remote branches.

    At first, we can find branches which are already merged in “master”:

    git checkout master
    $ git branch -r --merged

    But this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.

    This magic snippet provides all required information:

    for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    Now, you can delete own remote branches, and ask other authors to clean-up theirs:

    $ git push origin --delete branch-name

    Similar snippet for not merged branches:

    $ for branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r

    This list should be reviewed more thoroughly to avoid losing important commits.

    \ No newline at end of file diff --git a/git/clean/index.html b/git/clean/index.html index 52572d82..0bb6f414 100644 --- a/git/clean/index.html +++ b/git/clean/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Git Clean

    Perform a “dry run” of git clean. This will show you which files are going to be removed without actually doing it.

    git clean -n

    Remove untracked files from the current directory. The -f (force) flag is required unless the clean.requireForce configuration option is set to false (it’s true by default). This will not remove untracked folders or files specified by .gitignore.

    git clean -f

    Remove untracked files, but limit the operation to the specified path.

    git clean -f <path>

    Remove untracked files and untracked directories from the current directory.

    git clean -df

    Remove untracked files from the current directory as well as any files that Git usually ignores.

    git clean -xf

    Example

    • Edit some existing files
    • Add some new files
    • Realize you have no idea what you’re doing

    Undo changes in tracked files

    git reset --hard

    Remove untracked files

    git clean -df
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Git Clean

    Perform a “dry run” of git clean. This will show you which files are going to be removed without actually doing it.

    git clean -n

    Remove untracked files from the current directory. The -f (force) flag is required unless the clean.requireForce configuration option is set to false (it’s true by default). This will not remove untracked folders or files specified by .gitignore.

    git clean -f

    Remove untracked files, but limit the operation to the specified path.

    git clean -f <path>

    Remove untracked files and untracked directories from the current directory.

    git clean -df

    Remove untracked files from the current directory as well as any files that Git usually ignores.

    git clean -xf

    Example

    • Edit some existing files
    • Add some new files
    • Realize you have no idea what you’re doing

    Undo changes in tracked files

    git reset --hard

    Remove untracked files

    git clean -df
    \ No newline at end of file diff --git a/git/diff/index.html b/git/diff/index.html index 79ee69a9..d59234e5 100644 --- a/git/diff/index.html +++ b/git/diff/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Git Diff

    Simply use git diff and a file name to check difference between commited and non staged changes

    git diff FILE_NAME

    If you need to verify the difference of a file that is already staged use the following

    git diff --staged FILE_NAME

    Git diff with opendiff

    mkdir ~/bin/
    touch ~/bin/git-diff.sh

    The contents of the file will look like this:

    #!/bin/sh
    /usr/bin/opendiff "$2" "$5" -merge "$1"

    Once the script has been made, you’ll want it to be executable

    chmod u+x ~/bin/git-diff.sh

    Finally, tell git that you want to set it up as your default merge tool:

    git config --global diff.external ~/bin/git-diff.sh

    If you later decide you hate it, run this command to go back:

    git config --global --unset diff.external
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Git Diff

    Simply use git diff and a file name to check difference between commited and non staged changes

    git diff FILE_NAME

    If you need to verify the difference of a file that is already staged use the following

    git diff --staged FILE_NAME

    Git diff with opendiff

    mkdir ~/bin/
    touch ~/bin/git-diff.sh

    The contents of the file will look like this:

    #!/bin/sh
    /usr/bin/opendiff "$2" "$5" -merge "$1"

    Once the script has been made, you’ll want it to be executable

    chmod u+x ~/bin/git-diff.sh

    Finally, tell git that you want to set it up as your default merge tool:

    git config --global diff.external ~/bin/git-diff.sh

    If you later decide you hate it, run this command to go back:

    git config --global --unset diff.external
    \ No newline at end of file diff --git a/git/excluding_files/index.html b/git/excluding_files/index.html index 8254aaa6..86cecd0a 100644 --- a/git/excluding_files/index.html +++ b/git/excluding_files/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Excluding Files

    Ignoring tracked files in your local repo

    git update-index --skip-worktree SOME_FILE

    or

    git update-index --assume-unchanged SOME_FILE

    To undo assume unchanged

    git update-index --no-assume-unchanged SOME_FILE

    If using assume-unchanged you can add the following to your ~/.gitconfig

    This will allow you to use the alias git ignored to list all excluded files

    [alias]
    ignored = !git ls-files -v | grep "^[[:lower:]]"

    Ignoring un-tracked files in your local repo

    Untested

    If you ever want to ignore a file from git, but don’t want to add it to the .gitignore file, you can do it on your local copy by adding it to the file .git/info/exclude

    I’ve setup an alias to do so, just add this to your .gitconfig file under the [alias] section

    exclude = !sh -c 'echo "$1" >> .git/info/exclude' -

    Then you can execute:

    git exclude SOME_FILE
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Excluding Files

    Ignoring tracked files in your local repo

    git update-index --skip-worktree SOME_FILE

    or

    git update-index --assume-unchanged SOME_FILE

    To undo assume unchanged

    git update-index --no-assume-unchanged SOME_FILE

    If using assume-unchanged you can add the following to your ~/.gitconfig

    This will allow you to use the alias git ignored to list all excluded files

    [alias]
    ignored = !git ls-files -v | grep "^[[:lower:]]"

    Ignoring un-tracked files in your local repo

    Untested

    If you ever want to ignore a file from git, but don’t want to add it to the .gitignore file, you can do it on your local copy by adding it to the file .git/info/exclude

    I’ve setup an alias to do so, just add this to your .gitconfig file under the [alias] section

    exclude = !sh -c 'echo "$1" >> .git/info/exclude' -

    Then you can execute:

    git exclude SOME_FILE
    \ No newline at end of file diff --git a/git/forking/index.html b/git/forking/index.html index be4e061b..8c000a9b 100644 --- a/git/forking/index.html +++ b/git/forking/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Working with Forked Repositories

    When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:

    git remote add theirUsername git@github.com:theirUsername/repoName.git
    git fetch theirUsername
    git checkout -b my_name_for_their_branch theirUsername/theirBranch

    Example

    Following directions for Keeping your fork in sync for the DevCetner.

    In this example I will be demonstrating creating a GA branch from upstream, in my local environment. I will be prefixing the remote GA branch with my initials to have a differentiation between the upstream branch and my local (forked) copy.

    You can set upstream as the repo to follow (userName)

    git remote add upstream git@github.ibm.com:MFPSamples/DevCenter

    Once this is done your are free to fetch and pull code from the upstream witch is the source repo for all changes (representing another userName).

    git fetch upstream
    git merge upstream/master

    Note: This is assuming you are trying to merge to you local (forked) master branch

    If you need to work off a branch that is in the upstream but not in your local repository (forked) you can create it with a link to upstream as follows:

    git checkout -b ENG-GA upstream/GA

    This line creates a local branch ENG-GA based on upstream/GA. So now you can make updates to your local repo ENG-GA and then push it back to upstream/GA which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge upstream/GA with the following:

    git fetch upstream
    git merge upstream/GA

    Once you are ready to submit your changes back to upstream you can create a pull request via github.com. Ensuring that your base branch is GA and the head branch is ENG-GA. See image for details.

    Pull Request
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Working with Forked Repositories

    When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:

    git remote add theirUsername git@github.com:theirUsername/repoName.git
    git fetch theirUsername
    git checkout -b my_name_for_their_branch theirUsername/theirBranch

    Example

    Following directions for Keeping your fork in sync for the DevCetner.

    In this example I will be demonstrating creating a GA branch from upstream, in my local environment. I will be prefixing the remote GA branch with my initials to have a differentiation between the upstream branch and my local (forked) copy.

    You can set upstream as the repo to follow (userName)

    git remote add upstream git@github.ibm.com:MFPSamples/DevCenter

    Once this is done your are free to fetch and pull code from the upstream witch is the source repo for all changes (representing another userName).

    git fetch upstream
    git merge upstream/master

    Note: This is assuming you are trying to merge to you local (forked) master branch

    If you need to work off a branch that is in the upstream but not in your local repository (forked) you can create it with a link to upstream as follows:

    git checkout -b ENG-GA upstream/GA

    This line creates a local branch ENG-GA based on upstream/GA. So now you can make updates to your local repo ENG-GA and then push it back to upstream/GA which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge upstream/GA with the following:

    git fetch upstream
    git merge upstream/GA

    Once you are ready to submit your changes back to upstream you can create a pull request via github.com. Ensuring that your base branch is GA and the head branch is ENG-GA. See image for details.

    Pull Request
    \ No newline at end of file diff --git a/git/gitignore/index.html b/git/gitignore/index.html index 72ff8405..42c95100 100644 --- a/git/gitignore/index.html +++ b/git/gitignore/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Updating .gitignore

    Untracking a single file

    To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:

    git rm --cached filename

    Untracking all files

    To untrack every file that is now in your .gitignore:

    1. Commit any outstanding code changes, and then, run this command:

      git commit -m "Commit message"
    2. This removes any changed files from the index(staging area), then just run:

      git rm -r --cached .
    3. Add all tracked changes

      git add .
    4. Commit it:

      git commit -m ".gitignore is now working"
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Updating .gitignore

    Untracking a single file

    To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:

    git rm --cached filename

    Untracking all files

    To untrack every file that is now in your .gitignore:

    1. Commit any outstanding code changes, and then, run this command:

      git commit -m "Commit message"
    2. This removes any changed files from the index(staging area), then just run:

      git rm -r --cached .
    3. Add all tracked changes

      git add .
    4. Commit it:

      git commit -m ".gitignore is now working"
    \ No newline at end of file diff --git a/git/merge_conflicts/index.html b/git/merge_conflicts/index.html index d4886e46..8ba06a4e 100644 --- a/git/merge_conflicts/index.html +++ b/git/merge_conflicts/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Resolving Merge Conflicts

    Local changes to same files

    To resolve merge conflicts with error.

    error: Your local changes to the following files would be overwritten by merge:

    To stash entire working tree

    git stash save --keep-index

    Now you will be able to merge branch successfully

    If you do not need your local changes you can simple drop the stash

    git stash drop

    or…if you need your changes you can attempt to process them in now using pop

    git stash pop

    To show what is in your stash use show

    git stash show
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Resolving Merge Conflicts

    Local changes to same files

    To resolve merge conflicts with error.

    error: Your local changes to the following files would be overwritten by merge:

    To stash entire working tree

    git stash save --keep-index

    Now you will be able to merge branch successfully

    If you do not need your local changes you can simple drop the stash

    git stash drop

    or…if you need your changes you can attempt to process them in now using pop

    git stash pop

    To show what is in your stash use show

    git stash show
    \ No newline at end of file diff --git a/git/undo-last-commit/index.html b/git/undo-last-commit/index.html index 254ba4ee..5938229c 100644 --- a/git/undo-last-commit/index.html +++ b/git/undo-last-commit/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Reverting last commit

    git commit -m "Something terribly misguided"
    git reset --soft HEAD~
    << edit files as necessary >>
    git add ...
    git commit -m "New commit message"
    git commit -c ORIG_HEAD

    Delete the most recent commit, keeping the work you’ve done:

    git reset --soft HEAD~1

    Delete the most recent commit, destroying the work you’ve done:

    git reset --hard HEAD~1

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Reverting last commit

    git commit -m "Something terribly misguided"
    git reset --soft HEAD~
    << edit files as necessary >>
    git add ...
    git commit -m "New commit message"
    git commit -c ORIG_HEAD

    Delete the most recent commit, keeping the work you’ve done:

    git reset --soft HEAD~1

    Delete the most recent commit, destroying the work you’ve done:

    git reset --hard HEAD~1

    \ No newline at end of file diff --git a/go-projects/index.html b/go-projects/index.html index a75e4394..f2da51d6 100644 --- a/go-projects/index.html +++ b/go-projects/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Go Projects

    eng-go

    This package is a learning package used to test various data algorithms for programing in Go.

    Page last updated: 04 November 2022
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Go Projects

    eng-go

    This package is a learning package used to test various data algorithms for programing in Go.

    Page last updated: 04 November 2022
    \ No newline at end of file diff --git a/help/index.html b/help/index.html index 73708597..eda83c06 100644 --- a/help/index.html +++ b/help/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Help

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Help

    \ No newline at end of file diff --git a/index.html b/index.html index a0c7d635..784b0c7d 100644 --- a/index.html +++ b/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Digital badges

    Welcome!!

    This site is setup to showcase my professional career and hobbies as a Software Engineer.

    You can find out more about me on the About page.

    Certificates

    CIO Hackathon 2022
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Digital badges

    Welcome!!

    This site is setup to showcase my professional career and hobbies as a Software Engineer.

    You can find out more about me on the About page.

    Certificates

    CIO Hackathon 2022
    \ No newline at end of file diff --git a/notes/index.html b/notes/index.html index 300d1efa..18c4e0a8 100644 --- a/notes/index.html +++ b/notes/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Notes

    This is my Hidden notes landing page.

    CAREER
    DEVELOPMENT
    ANDROID
    GIT
    OSX

    TODO

    Need to create a query that accepts un-categorized notes.

    // old query
    export const pageQuery = graphql`
    query {
    allFile(filter: { sourceInstanceName: { eq: "notes" } }) {
    edges {
    node {
    id
    childMdx {
    frontmatter {
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Notes

    This is my Hidden notes landing page.

    CAREER
    DEVELOPMENT
    ANDROID
    GIT
    OSX

    TODO

    Need to create a query that accepts un-categorized notes.

    // old query
    export const pageQuery = graphql`
    query {
    allFile(filter: { sourceInstanceName: { eq: "notes" } }) {
    edges {
    node {
    id
    childMdx {
    frontmatter {
    \ No newline at end of file diff --git a/osx/background/index.html b/osx/background/index.html index 047d9c47..ebf92063 100644 --- a/osx/background/index.html +++ b/osx/background/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Background Processes

    Running processes in the background

    When running a command add & at the end and this will cause that process to run in the background

    To see a list of background jobs use:

    jobs

    To kill a background process use:

    kill %<job number>

    To bring a background process to the foreground use:

    fg %<job number>

    Java background

    If a MFPF server fails to start (due to process already running)

    You can use lsof -i:<port> to list processes on a specific port. If you want to kill all java processes in the background run:

    killall -9 java
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Background Processes

    Running processes in the background

    When running a command add & at the end and this will cause that process to run in the background

    To see a list of background jobs use:

    jobs

    To kill a background process use:

    kill %<job number>

    To bring a background process to the foreground use:

    fg %<job number>

    Java background

    If a MFPF server fails to start (due to process already running)

    You can use lsof -i:<port> to list processes on a specific port. If you want to kill all java processes in the background run:

    killall -9 java
    \ No newline at end of file diff --git a/osx/dev-environment/index.html b/osx/dev-environment/index.html index a99ae524..1c16fadd 100644 --- a/osx/dev-environment/index.html +++ b/osx/dev-environment/index.html @@ -16,4 +16,4 @@
    # Add tab completion for bash completion 2
    if which brew > /dev/null && [ -f "$(brew --prefix)/share/bash-completion/bash_completion" ]; then
    source "$(brew --prefix)/share/bash-completion/bash_completion";
    export PS1='\W$(__git_ps1) \$ '
    # Fallback to bash completion
    elif [ -f /etc/bash_completion ]; then

    Note: you can leave out the export of PS1 if you choose. I just prefer a simple concise command prompt.

    Java Version Management

    When it comes to Java management on a Mac there are several option in which you can chose. Below I will detail a few of them to chose from. First I will mention my favorite jenv

    jenv

    This software is available through Homebrew. It is well documented on it’s github page, . Let us discus a few caveats here. First and foremost you must add any installed versions of Java installed for jenv to be able to manage it. You can see a list of install by running the command /usr/libexec/java_home -V.

    Using .bash_profile

    See this StackOverflow post for simple java version management using your `.bash_profile`

    Ruby Management

    rbenv is awesome!! brew install rbenv

    Plugins to consider

    Text Editors

    This is a very personal choice, and I can only detail the ones I’m familiar with.

    If you would like to share your favorite please update this page.

    Other

    Using rbenv to Manage Rubies and Gems
    \ No newline at end of file + Sublime Homepageopen_in_new

  • Atom

  • If you would like to share your favorite please update this page.

    Other

    Using rbenv to Manage Rubies and Gems
    \ No newline at end of file diff --git a/osx/sublime_text/index.html b/osx/sublime_text/index.html index 4feba9eb..2744befd 100644 --- a/osx/sublime_text/index.html +++ b/osx/sublime_text/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Sublime Text

    in .bash_profile

    export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
    export EDITOR='subl -w'

    Create symbolic link from terminal

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Sublime Text

    in .bash_profile

    export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
    export EDITOR='subl -w'

    Create symbolic link from terminal

    ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
    \ No newline at end of file diff --git a/osx/terminal/index.html b/osx/terminal/index.html index f74b911c..19bcf492 100644 --- a/osx/terminal/index.html +++ b/osx/terminal/index.html @@ -15,4 +15,4 @@
    Skip to main contentEric N. Garcia

    Terminal Setup

    Setting up your Terminal with zsh and iTerm2

    I’ll be combining a couple different tutorials that I will like to in the footnotes. As well as some minor differences that I have updated for my personal use.

    Installing Xcode

    Ensure Xcode developer tools are installed with:

    xcode-select —-install

    Install Homebrew

    If homebrew is not installed do so now with:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    Install iTerm2 via Homebrew

    brew cask install iterm2

    Install zsh

    Make sure you have the latest zsh installed

    brew install zsh

    Install Oh My Zsh

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

    Once installed install your various plugins, by adding them to the plugins array in your ~/.zshrc.

    Here are the list of plugins or check out the wiki

    Keep you upgrade oh my zsh with:

    upgrade_oh_my_zsh

    Powerlevel9k

    Install Powerlevel9k theme. Since we are using Oh My Zsh, we can install it in the ~/.oh-my-zsh/custom/themes/ directory with the following.

    git clone https://github.com/bhilburn/powerlevel9k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k

    then simply add the theme to you ~/.zsh file.

    ZSH_THEME="powerlevel9k/powerlevel9k"

    To include syntax highlighting of your shell install the zsh-syntax-highlighting plugins with the following:

    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

    Install fonts with gliphs

    I like to use IBM Plex, which is patch with powerline gliphs from Nerd Fonts.

    See this list of patched fonts to find the one you want

    # Clone repo
    git clone https://github.com/ryanoasis/nerd-fonts.git
    cd nerd-fonts
    # Install all fonts
    ./install.sh
    -
    # or

    Other plugins and custimizations

    Install colorls

    gem install colorls

    Add Aliases


    \ No newline at end of file +
    # or

    Other plugins and custimizations

    Install colorls

    gem install colorls

    Add Aliases


    \ No newline at end of file diff --git a/osx/unix-grep/index.html b/osx/unix-grep/index.html index 2c7516fd..e186c06b 100644 --- a/osx/unix-grep/index.html +++ b/osx/unix-grep/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    GREP

    Using grep to search a file (ex: *.log), and save to and new file (ex: NEW_FILE.log)

    grep "SEARCH_TERM" PATH_TO_FILE_TO_GREP > PATH_TO_NEW_FILE

    The below command will remove all files in the current directory except the ones with .log in their filename.

    ls | grep -v ".log" | xargs rm

    Flags

    • Use the -c flag to count the number of occurrences of search in a file.

      ```bash
      grep -c "SEARCH_TERM" FILE.log
      ```
    • Use the -i flag to search a term without case sensitivity

      ```bash
      grep -i "SEARCH_TERM" FILE.log
      ```
    • Use the -v flag to return everything but the search term

      ```bash
      grep -v "SEARCH_TERM" FILE.log
      ```
    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    GREP

    Using grep to search a file (ex: *.log), and save to and new file (ex: NEW_FILE.log)

    grep "SEARCH_TERM" PATH_TO_FILE_TO_GREP > PATH_TO_NEW_FILE

    The below command will remove all files in the current directory except the ones with .log in their filename.

    ls | grep -v ".log" | xargs rm

    Flags

    • Use the -c flag to count the number of occurrences of search in a file.

      ```bash
      grep -c "SEARCH_TERM" FILE.log
      ```
    • Use the -i flag to search a term without case sensitivity

      ```bash
      grep -i "SEARCH_TERM" FILE.log
      ```
    • Use the -v flag to return everything but the search term

      ```bash
      grep -v "SEARCH_TERM" FILE.log
      ```
    \ No newline at end of file diff --git a/osx/useful_commands/index.html b/osx/useful_commands/index.html index 4488b5c3..045c505e 100644 --- a/osx/useful_commands/index.html +++ b/osx/useful_commands/index.html @@ -13,4 +13,4 @@ } })
    Skip to main contentEric N. Garcia

    Useful Commands

    Jump to:

    • TOC -{:toc}

    Bash Profile

    Use source to update bash_profile without relaunching terminal

    source ~/.bash_profile

    Open with application

    • Can also be used with . for the file path to open current directory*
    open -a "PROVIDED_APPLICATION" FILE/PATH

    Scripts

    This section is designated to helping you work with and create scripts.

    Setting script permissions

    Source

    Allowing everyone to execute the script, enter:

    chmod +x <script>.sh

    Set the permissions for the user and the group to read and execute only (no write permission), enter:

    chmod ug=rx script.sh

    Unzip

    Unzip all files in directory

    for i in *.zip ; do
    mkdir $i.d
    cd $i.d
    unzip $i
    cd ../
    done
    \ No newline at end of file +{:toc}

    Bash Profile

    Use source to update bash_profile without relaunching terminal

    source ~/.bash_profile

    Open with application

    open -a "PROVIDED_APPLICATION" FILE/PATH

    Scripts

    This section is designated to helping you work with and create scripts.

    Setting script permissions

    Source

    Allowing everyone to execute the script, enter:

    chmod +x <script>.sh

    Set the permissions for the user and the group to read and execute only (no write permission), enter:

    chmod ug=rx script.sh

    Unzip

    Unzip all files in directory

    for i in *.zip ; do
    mkdir $i.d
    cd $i.d
    unzip $i
    cd ../
    done
    \ No newline at end of file diff --git a/page-data/about/page-data.json b/page-data/about/page-data.json index 7b73b5bf..928bfe08 100644 --- a/page-data/about/page-data.json +++ b/page-data/about/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-about-index-mdx","path":"/about/","result":{"pageContext":{"frontmatter":{"title":"About","description":"A high level overview of who I am"},"relativePagePath":"/about/index.mdx","titleType":"prepend","MdxNode":{"id":"ebcbc7aa-e26b-53a2-8286-7ef7b8d02b1e","children":[],"parent":"26a08bfc-f94a-588b-8a1a-7aba2108f380","internal":{"content":"---\ntitle: About\ndescription: A high level overview of who I am\n---\n\n![Garcia Family Photo](./images/garcia_family.jpg)\n\n\n About Me\n Education\n\n\nThis md file can be locally linked here... [test md](./test.md)\n\nThis pdf should be downloadable from this [link](./test.pdf)\n\n## About Me\n\nMy name is Eric Garcia. I am a graduate from Full Sail University with a\nBachelors Degree in Mobile Development (MDVBS).\nI am currently employed at IBM as a Software Engineer. I am currently working on\nAnalytics & Enterprise Integration as part of the API Connect team.\n\n\n\nIf you would like to see some of the projects and applications I have worked\non this can be found in my Portfolio\n\n## Education\n\n### Full Sail\n\nClasses were focused on teaching a few skills each week and require you to build an app\nwith specific requirements to show comprehension of skills taught. Degree overview.\n\n\n\n
    \n \n
    \n\n### Development-centered Courses Completed\n\n- Mobile Media Design I & II\n- Scalable Data Infrastructures & Advanced Scalable Data Infrastructures\n- Visual Frameworks & Advanced Visual Frameworks\n- Mobile Interfaces and Usability\n- Mobile User Experience\n- Apple Programming Language: Objective C I & II\n- Mobile Development Frameworks I, II, & III\n- Application Deployment iOS\n- Java I & II\n- Mobile Player Experience\n- Application Deployment Android\n- Cross-Platform Mobile Development\n\nFor detailed description of\ncourses please refer to: Courses\n","type":"Mdx","contentDigest":"2c36548c8a36694e38e05c383e3a903e","owner":"gatsby-plugin-mdx","counter":157},"frontmatter":{"title":"About","description":"A high level overview of who I am"},"exports":{},"rawBody":"---\ntitle: About\ndescription: A high level overview of who I am\n---\n\n![Garcia Family Photo](./images/garcia_family.jpg)\n\n\n About Me\n Education\n\n\nThis md file can be locally linked here... [test md](./test.md)\n\nThis pdf should be downloadable from this [link](./test.pdf)\n\n## About Me\n\nMy name is Eric Garcia. I am a graduate from Full Sail University with a\nBachelors Degree in Mobile Development (MDVBS).\nI am currently employed at IBM as a Software Engineer. I am currently working on\nAnalytics & Enterprise Integration as part of the API Connect team.\n\n\n\nIf you would like to see some of the projects and applications I have worked\non this can be found in my Portfolio\n\n## Education\n\n### Full Sail\n\nClasses were focused on teaching a few skills each week and require you to build an app\nwith specific requirements to show comprehension of skills taught. Degree overview.\n\n\n\n
    \n \n
    \n\n### Development-centered Courses Completed\n\n- Mobile Media Design I & II\n- Scalable Data Infrastructures & Advanced Scalable Data Infrastructures\n- Visual Frameworks & Advanced Visual Frameworks\n- Mobile Interfaces and Usability\n- Mobile User Experience\n- Apple Programming Language: Objective C I & II\n- Mobile Development Frameworks I, II, & III\n- Application Deployment iOS\n- Java I & II\n- Mobile Player Experience\n- Application Deployment Android\n- Cross-Platform Mobile Development\n\nFor detailed description of\ncourses please refer to: Courses\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/about/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-about-index-mdx","path":"/about/","result":{"pageContext":{"frontmatter":{"title":"About","description":"A high level overview of who I am"},"relativePagePath":"/about/index.mdx","titleType":"prepend","MdxNode":{"id":"ebcbc7aa-e26b-53a2-8286-7ef7b8d02b1e","children":[],"parent":"26a08bfc-f94a-588b-8a1a-7aba2108f380","internal":{"content":"---\ntitle: About\ndescription: A high level overview of who I am\n---\n\n![Garcia Family Photo](./images/garcia_family.jpg)\n\n\n About Me\n Education\n\n\nThis md file can be locally linked here... [test md](./test.md)\n\nThis pdf should be downloadable from this [link](./test.pdf)\n\n## About Me\n\nMy name is Eric Garcia. I am a graduate from Full Sail University with a\nBachelors Degree in Mobile Development (MDVBS).\nI am currently employed at IBM as a Software Engineer. I am currently working on\nAnalytics & Enterprise Integration as part of the API Connect team.\n\n\n\nIf you would like to see some of the projects and applications I have worked\non this can be found in my Portfolio\n\n## Education\n\n### Full Sail\n\nClasses were focused on teaching a few skills each week and require you to build an app\nwith specific requirements to show comprehension of skills taught. Degree overview.\n\n\n\n
    \n \n
    \n\n### Development-centered Courses Completed\n\n- Mobile Media Design I & II\n- Scalable Data Infrastructures & Advanced Scalable Data Infrastructures\n- Visual Frameworks & Advanced Visual Frameworks\n- Mobile Interfaces and Usability\n- Mobile User Experience\n- Apple Programming Language: Objective C I & II\n- Mobile Development Frameworks I, II, & III\n- Application Deployment iOS\n- Java I & II\n- Mobile Player Experience\n- Application Deployment Android\n- Cross-Platform Mobile Development\n\nFor detailed description of\ncourses please refer to: Courses\n","type":"Mdx","contentDigest":"2c36548c8a36694e38e05c383e3a903e","owner":"gatsby-plugin-mdx","counter":158},"frontmatter":{"title":"About","description":"A high level overview of who I am"},"exports":{},"rawBody":"---\ntitle: About\ndescription: A high level overview of who I am\n---\n\n![Garcia Family Photo](./images/garcia_family.jpg)\n\n\n About Me\n Education\n\n\nThis md file can be locally linked here... [test md](./test.md)\n\nThis pdf should be downloadable from this [link](./test.pdf)\n\n## About Me\n\nMy name is Eric Garcia. I am a graduate from Full Sail University with a\nBachelors Degree in Mobile Development (MDVBS).\nI am currently employed at IBM as a Software Engineer. I am currently working on\nAnalytics & Enterprise Integration as part of the API Connect team.\n\n\n\nIf you would like to see some of the projects and applications I have worked\non this can be found in my Portfolio\n\n## Education\n\n### Full Sail\n\nClasses were focused on teaching a few skills each week and require you to build an app\nwith specific requirements to show comprehension of skills taught. Degree overview.\n\n\n\n
    \n \n
    \n\n### Development-centered Courses Completed\n\n- Mobile Media Design I & II\n- Scalable Data Infrastructures & Advanced Scalable Data Infrastructures\n- Visual Frameworks & Advanced Visual Frameworks\n- Mobile Interfaces and Usability\n- Mobile User Experience\n- Apple Programming Language: Objective C I & II\n- Mobile Development Frameworks I, II, & III\n- Application Deployment iOS\n- Java I & II\n- Mobile Player Experience\n- Application Deployment Android\n- Cross-Platform Mobile Development\n\nFor detailed description of\ncourses please refer to: Courses\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/about/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/apps/fun-facts/page-data.json b/page-data/apps/fun-facts/page-data.json index e24fc152..ef7ee0d1 100644 --- a/page-data/apps/fun-facts/page-data.json +++ b/page-data/apps/fun-facts/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-apps-fun-facts-index-mdx","path":"/apps/fun-facts/","result":{"pageContext":{"frontmatter":{"title":"Fun Facts"},"relativePagePath":"/apps/fun-facts/index.mdx","titleType":"prepend","MdxNode":{"id":"b25d2d68-6df5-5da3-8472-fd3ac250daea","children":[],"parent":"224bbfa3-d243-5345-b670-64dd532d3838","internal":{"content":"---\ntitle: Fun Facts\n---\n\nimport { Link } from 'gatsby';\n\n## Overview\n\nCurrently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.\n\nPrivacy Policy\n\n## Download\n\nAvailable for:\n\n- Android [Fun Facts](https://play.google.com/store/apps/details?id=com.garciaericn.funfacts)\n","type":"Mdx","contentDigest":"c475c79964ac89ccaddbe8b1e46945ee","owner":"gatsby-plugin-mdx","counter":169},"frontmatter":{"title":"Fun Facts"},"exports":{},"rawBody":"---\ntitle: Fun Facts\n---\n\nimport { Link } from 'gatsby';\n\n## Overview\n\nCurrently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.\n\nPrivacy Policy\n\n## Download\n\nAvailable for:\n\n- Android [Fun Facts](https://play.google.com/store/apps/details?id=com.garciaericn.funfacts)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/fun-facts/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-apps-fun-facts-index-mdx","path":"/apps/fun-facts/","result":{"pageContext":{"frontmatter":{"title":"Fun Facts"},"relativePagePath":"/apps/fun-facts/index.mdx","titleType":"prepend","MdxNode":{"id":"b25d2d68-6df5-5da3-8472-fd3ac250daea","children":[],"parent":"224bbfa3-d243-5345-b670-64dd532d3838","internal":{"content":"---\ntitle: Fun Facts\n---\n\nimport { Link } from 'gatsby';\n\n## Overview\n\nCurrently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.\n\nPrivacy Policy\n\n## Download\n\nAvailable for:\n\n- Android [Fun Facts](https://play.google.com/store/apps/details?id=com.garciaericn.funfacts)\n","type":"Mdx","contentDigest":"c475c79964ac89ccaddbe8b1e46945ee","owner":"gatsby-plugin-mdx","counter":168},"frontmatter":{"title":"Fun Facts"},"exports":{},"rawBody":"---\ntitle: Fun Facts\n---\n\nimport { Link } from 'gatsby';\n\n## Overview\n\nCurrently has a limited number of facts please stay tuned for updates, with a lot more facts to baffle your mind.\n\nPrivacy Policy\n\n## Download\n\nAvailable for:\n\n- Android [Fun Facts](https://play.google.com/store/apps/details?id=com.garciaericn.funfacts)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/fun-facts/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/apps/fun-facts/privacy/page-data.json b/page-data/apps/fun-facts/privacy/page-data.json index 4110826b..852c3814 100644 --- a/page-data/apps/fun-facts/privacy/page-data.json +++ b/page-data/apps/fun-facts/privacy/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-apps-fun-facts-privacy-mdx","path":"/apps/fun-facts/privacy/","result":{"pageContext":{"frontmatter":{"title":"Fun Facts Privacy Policy","description":"Privacy policy for the fun facts app"},"relativePagePath":"/apps/fun-facts/privacy.mdx","titleType":"prepend","MdxNode":{"id":"cd9cd4c7-4272-5584-9533-cd20f82389bc","children":[],"parent":"936c4bb3-5268-5f6e-b6f2-02e7ed9599cf","internal":{"content":"---\ntitle: Fun Facts Privacy Policy\ndescription: Privacy policy for the fun facts app\n---\n\nEric N. Garcia built the Fun Facts app as a Free app. This SERVICE is\nprovided by Eric N. Garcia at no cost and is intended for use as is.\n\nThis page is used to inform visitors regarding my policies with the\ncollection, use, and disclosure of Personal Information if anyone decided to\nuse my Service.\n\nIf you choose to use my Service, then you agree to the collection and use of\ninformation in relation to this policy. The Personal Information that I\ncollect is used for providing and improving the Service. I will not use or\nshare your information with anyone except as described in this Privacy\nPolicy.\n\nThe terms used in this Privacy Policy have the same meanings as in our Terms\nand Conditions, which is accessible at Fun Facts unless otherwise defined in\nthis Privacy Policy.\n\n### Information Collection and Use\n\nFor a better experience, while using our Service, I may require you to\nprovide us with certain personally identifiable information. The information\nthat I request will be retained on your device and is not collected by me in\nany way.\n\nThe app does use third party services that may collect information used to\nidentify you.\n\nLink to privacy policy of third party service providers used by the app\n\n- [Google Play Services](https://www.google.com/policies/privacy/)\n- [Google Analytics for Firebase](https://firebase.google.com/policies/analytics)\n- [Firebase Crashlytics](https://firebase.google.com/support/privacy/)\n\n### Log Data\n\nI want to inform you that whenever you use my Service, in a case of an error\nin the app I collect data and information (through third party products) on\nyour phone called Log Data. This Log Data may include information such as your\ndevice Internet Protocol (“IP”) address, device name, operating system\nversion, the configuration of the app when utilizing my Service, the time and\ndate of your use of the Service, and other statistics.\n\n### Cookies\n\nCookies are files with a small amount of data that are commonly used as\nanonymous unique identifiers. These are sent to your browser from the websites\nthat you visit and are stored on your device's internal memory.\n\nThis Service does not use these “cookies” explicitly. However, the app may use\nthird party code and libraries that use “cookies” to collect information and\nimprove their services. You have the option to either accept or refuse these\ncookies and know when a cookie is being sent to your device. If you choose to\nrefuse our cookies, you may not be able to use some portions of this Service.\n\n### Service Providers\n\nI may employ third-party companies and individuals due to the following\nreasons:\n\n- To facilitate our Service;\n- To provide the Service on our behalf;\n- To perform Service-related services; or\n- To assist us in analyzing how our Service is used.\n\nI want to inform users of this Service that these third parties have access to\nyour Personal Information. The reason is to perform the tasks assigned to them\non our behalf. However, they are obligated not to disclose or use the\ninformation for any other purpose.\n\n### Security\n\nI value your trust in providing us your Personal Information, thus we are\nstriving to use commercially acceptable means of protecting it. But remember\nthat no method of transmission over the internet, or method of electronic\nstorage is 100% secure and reliable, and I cannot guarantee its absolute\nsecurity.\n\n### Links to Other Sites\n\nThis Service may contain links to other sites. If you click on a third-party\nlink, you will be directed to that site. Note that these external sites are\nnot operated by me. Therefore, I strongly advise you to review the Privacy\nPolicy of these websites. I have no control over and assume no responsibility\nfor the content, privacy policies, or practices of any third-party sites or\nservices.\n\n### Children’s Privacy\n\nThese Services do not address anyone under the age of 13. I do not knowingly\ncollect personally identifiable information from children under 13. In the\ncase I discover that a child under 13 has provided me with personal\ninformation, I immediately delete this from our servers. If you are a parent\nor guardian and you are aware that your child has provided us with personal\ninformation, please contact me so that I will be able to do necessary actions.\n\n### Changes to This Privacy Policy\n\nI may update our Privacy Policy from time to time. Thus, you are advised to\nreview this page periodically for any changes. I will notify you of any\nchanges by posting the new Privacy Policy on this page.\n\nThis policy is effective as of 2020-05-04\n\n### Contact Us\n\nIf you have any questions or suggestions about my Privacy Policy, do not\nhesitate to contact me at [support.funfacts@garciaericn.com](mailto:support.funfacts@garciaericn.com).\n\nThis privacy policy page was created at\n\n\n privacypolicytemplate.net\n\nand modified/generated by\n\n App Privacy Policy Generator\n\n","type":"Mdx","contentDigest":"7099e4f58b9e03a3a61d804e29e18353","owner":"gatsby-plugin-mdx","counter":170},"frontmatter":{"title":"Fun Facts Privacy Policy","description":"Privacy policy for the fun facts app"},"exports":{},"rawBody":"---\ntitle: Fun Facts Privacy Policy\ndescription: Privacy policy for the fun facts app\n---\n\nEric N. Garcia built the Fun Facts app as a Free app. This SERVICE is\nprovided by Eric N. Garcia at no cost and is intended for use as is.\n\nThis page is used to inform visitors regarding my policies with the\ncollection, use, and disclosure of Personal Information if anyone decided to\nuse my Service.\n\nIf you choose to use my Service, then you agree to the collection and use of\ninformation in relation to this policy. The Personal Information that I\ncollect is used for providing and improving the Service. I will not use or\nshare your information with anyone except as described in this Privacy\nPolicy.\n\nThe terms used in this Privacy Policy have the same meanings as in our Terms\nand Conditions, which is accessible at Fun Facts unless otherwise defined in\nthis Privacy Policy.\n\n### Information Collection and Use\n\nFor a better experience, while using our Service, I may require you to\nprovide us with certain personally identifiable information. The information\nthat I request will be retained on your device and is not collected by me in\nany way.\n\nThe app does use third party services that may collect information used to\nidentify you.\n\nLink to privacy policy of third party service providers used by the app\n\n- [Google Play Services](https://www.google.com/policies/privacy/)\n- [Google Analytics for Firebase](https://firebase.google.com/policies/analytics)\n- [Firebase Crashlytics](https://firebase.google.com/support/privacy/)\n\n### Log Data\n\nI want to inform you that whenever you use my Service, in a case of an error\nin the app I collect data and information (through third party products) on\nyour phone called Log Data. This Log Data may include information such as your\ndevice Internet Protocol (“IP”) address, device name, operating system\nversion, the configuration of the app when utilizing my Service, the time and\ndate of your use of the Service, and other statistics.\n\n### Cookies\n\nCookies are files with a small amount of data that are commonly used as\nanonymous unique identifiers. These are sent to your browser from the websites\nthat you visit and are stored on your device's internal memory.\n\nThis Service does not use these “cookies” explicitly. However, the app may use\nthird party code and libraries that use “cookies” to collect information and\nimprove their services. You have the option to either accept or refuse these\ncookies and know when a cookie is being sent to your device. If you choose to\nrefuse our cookies, you may not be able to use some portions of this Service.\n\n### Service Providers\n\nI may employ third-party companies and individuals due to the following\nreasons:\n\n- To facilitate our Service;\n- To provide the Service on our behalf;\n- To perform Service-related services; or\n- To assist us in analyzing how our Service is used.\n\nI want to inform users of this Service that these third parties have access to\nyour Personal Information. The reason is to perform the tasks assigned to them\non our behalf. However, they are obligated not to disclose or use the\ninformation for any other purpose.\n\n### Security\n\nI value your trust in providing us your Personal Information, thus we are\nstriving to use commercially acceptable means of protecting it. But remember\nthat no method of transmission over the internet, or method of electronic\nstorage is 100% secure and reliable, and I cannot guarantee its absolute\nsecurity.\n\n### Links to Other Sites\n\nThis Service may contain links to other sites. If you click on a third-party\nlink, you will be directed to that site. Note that these external sites are\nnot operated by me. Therefore, I strongly advise you to review the Privacy\nPolicy of these websites. I have no control over and assume no responsibility\nfor the content, privacy policies, or practices of any third-party sites or\nservices.\n\n### Children’s Privacy\n\nThese Services do not address anyone under the age of 13. I do not knowingly\ncollect personally identifiable information from children under 13. In the\ncase I discover that a child under 13 has provided me with personal\ninformation, I immediately delete this from our servers. If you are a parent\nor guardian and you are aware that your child has provided us with personal\ninformation, please contact me so that I will be able to do necessary actions.\n\n### Changes to This Privacy Policy\n\nI may update our Privacy Policy from time to time. Thus, you are advised to\nreview this page periodically for any changes. I will notify you of any\nchanges by posting the new Privacy Policy on this page.\n\nThis policy is effective as of 2020-05-04\n\n### Contact Us\n\nIf you have any questions or suggestions about my Privacy Policy, do not\nhesitate to contact me at [support.funfacts@garciaericn.com](mailto:support.funfacts@garciaericn.com).\n\nThis privacy policy page was created at\n\n\n privacypolicytemplate.net\n\nand modified/generated by\n\n App Privacy Policy Generator\n\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/fun-facts/privacy.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-apps-fun-facts-privacy-mdx","path":"/apps/fun-facts/privacy/","result":{"pageContext":{"frontmatter":{"title":"Fun Facts Privacy Policy","description":"Privacy policy for the fun facts app"},"relativePagePath":"/apps/fun-facts/privacy.mdx","titleType":"prepend","MdxNode":{"id":"cd9cd4c7-4272-5584-9533-cd20f82389bc","children":[],"parent":"936c4bb3-5268-5f6e-b6f2-02e7ed9599cf","internal":{"content":"---\ntitle: Fun Facts Privacy Policy\ndescription: Privacy policy for the fun facts app\n---\n\nEric N. Garcia built the Fun Facts app as a Free app. This SERVICE is\nprovided by Eric N. Garcia at no cost and is intended for use as is.\n\nThis page is used to inform visitors regarding my policies with the\ncollection, use, and disclosure of Personal Information if anyone decided to\nuse my Service.\n\nIf you choose to use my Service, then you agree to the collection and use of\ninformation in relation to this policy. The Personal Information that I\ncollect is used for providing and improving the Service. I will not use or\nshare your information with anyone except as described in this Privacy\nPolicy.\n\nThe terms used in this Privacy Policy have the same meanings as in our Terms\nand Conditions, which is accessible at Fun Facts unless otherwise defined in\nthis Privacy Policy.\n\n### Information Collection and Use\n\nFor a better experience, while using our Service, I may require you to\nprovide us with certain personally identifiable information. The information\nthat I request will be retained on your device and is not collected by me in\nany way.\n\nThe app does use third party services that may collect information used to\nidentify you.\n\nLink to privacy policy of third party service providers used by the app\n\n- [Google Play Services](https://www.google.com/policies/privacy/)\n- [Google Analytics for Firebase](https://firebase.google.com/policies/analytics)\n- [Firebase Crashlytics](https://firebase.google.com/support/privacy/)\n\n### Log Data\n\nI want to inform you that whenever you use my Service, in a case of an error\nin the app I collect data and information (through third party products) on\nyour phone called Log Data. This Log Data may include information such as your\ndevice Internet Protocol (“IP”) address, device name, operating system\nversion, the configuration of the app when utilizing my Service, the time and\ndate of your use of the Service, and other statistics.\n\n### Cookies\n\nCookies are files with a small amount of data that are commonly used as\nanonymous unique identifiers. These are sent to your browser from the websites\nthat you visit and are stored on your device's internal memory.\n\nThis Service does not use these “cookies” explicitly. However, the app may use\nthird party code and libraries that use “cookies” to collect information and\nimprove their services. You have the option to either accept or refuse these\ncookies and know when a cookie is being sent to your device. If you choose to\nrefuse our cookies, you may not be able to use some portions of this Service.\n\n### Service Providers\n\nI may employ third-party companies and individuals due to the following\nreasons:\n\n- To facilitate our Service;\n- To provide the Service on our behalf;\n- To perform Service-related services; or\n- To assist us in analyzing how our Service is used.\n\nI want to inform users of this Service that these third parties have access to\nyour Personal Information. The reason is to perform the tasks assigned to them\non our behalf. However, they are obligated not to disclose or use the\ninformation for any other purpose.\n\n### Security\n\nI value your trust in providing us your Personal Information, thus we are\nstriving to use commercially acceptable means of protecting it. But remember\nthat no method of transmission over the internet, or method of electronic\nstorage is 100% secure and reliable, and I cannot guarantee its absolute\nsecurity.\n\n### Links to Other Sites\n\nThis Service may contain links to other sites. If you click on a third-party\nlink, you will be directed to that site. Note that these external sites are\nnot operated by me. Therefore, I strongly advise you to review the Privacy\nPolicy of these websites. I have no control over and assume no responsibility\nfor the content, privacy policies, or practices of any third-party sites or\nservices.\n\n### Children’s Privacy\n\nThese Services do not address anyone under the age of 13. I do not knowingly\ncollect personally identifiable information from children under 13. In the\ncase I discover that a child under 13 has provided me with personal\ninformation, I immediately delete this from our servers. If you are a parent\nor guardian and you are aware that your child has provided us with personal\ninformation, please contact me so that I will be able to do necessary actions.\n\n### Changes to This Privacy Policy\n\nI may update our Privacy Policy from time to time. Thus, you are advised to\nreview this page periodically for any changes. I will notify you of any\nchanges by posting the new Privacy Policy on this page.\n\nThis policy is effective as of 2020-05-04\n\n### Contact Us\n\nIf you have any questions or suggestions about my Privacy Policy, do not\nhesitate to contact me at [support.funfacts@garciaericn.com](mailto:support.funfacts@garciaericn.com).\n\nThis privacy policy page was created at\n\n\n privacypolicytemplate.net\n\nand modified/generated by\n\n App Privacy Policy Generator\n\n","type":"Mdx","contentDigest":"7099e4f58b9e03a3a61d804e29e18353","owner":"gatsby-plugin-mdx","counter":169},"frontmatter":{"title":"Fun Facts Privacy Policy","description":"Privacy policy for the fun facts app"},"exports":{},"rawBody":"---\ntitle: Fun Facts Privacy Policy\ndescription: Privacy policy for the fun facts app\n---\n\nEric N. Garcia built the Fun Facts app as a Free app. This SERVICE is\nprovided by Eric N. Garcia at no cost and is intended for use as is.\n\nThis page is used to inform visitors regarding my policies with the\ncollection, use, and disclosure of Personal Information if anyone decided to\nuse my Service.\n\nIf you choose to use my Service, then you agree to the collection and use of\ninformation in relation to this policy. The Personal Information that I\ncollect is used for providing and improving the Service. I will not use or\nshare your information with anyone except as described in this Privacy\nPolicy.\n\nThe terms used in this Privacy Policy have the same meanings as in our Terms\nand Conditions, which is accessible at Fun Facts unless otherwise defined in\nthis Privacy Policy.\n\n### Information Collection and Use\n\nFor a better experience, while using our Service, I may require you to\nprovide us with certain personally identifiable information. The information\nthat I request will be retained on your device and is not collected by me in\nany way.\n\nThe app does use third party services that may collect information used to\nidentify you.\n\nLink to privacy policy of third party service providers used by the app\n\n- [Google Play Services](https://www.google.com/policies/privacy/)\n- [Google Analytics for Firebase](https://firebase.google.com/policies/analytics)\n- [Firebase Crashlytics](https://firebase.google.com/support/privacy/)\n\n### Log Data\n\nI want to inform you that whenever you use my Service, in a case of an error\nin the app I collect data and information (through third party products) on\nyour phone called Log Data. This Log Data may include information such as your\ndevice Internet Protocol (“IP”) address, device name, operating system\nversion, the configuration of the app when utilizing my Service, the time and\ndate of your use of the Service, and other statistics.\n\n### Cookies\n\nCookies are files with a small amount of data that are commonly used as\nanonymous unique identifiers. These are sent to your browser from the websites\nthat you visit and are stored on your device's internal memory.\n\nThis Service does not use these “cookies” explicitly. However, the app may use\nthird party code and libraries that use “cookies” to collect information and\nimprove their services. You have the option to either accept or refuse these\ncookies and know when a cookie is being sent to your device. If you choose to\nrefuse our cookies, you may not be able to use some portions of this Service.\n\n### Service Providers\n\nI may employ third-party companies and individuals due to the following\nreasons:\n\n- To facilitate our Service;\n- To provide the Service on our behalf;\n- To perform Service-related services; or\n- To assist us in analyzing how our Service is used.\n\nI want to inform users of this Service that these third parties have access to\nyour Personal Information. The reason is to perform the tasks assigned to them\non our behalf. However, they are obligated not to disclose or use the\ninformation for any other purpose.\n\n### Security\n\nI value your trust in providing us your Personal Information, thus we are\nstriving to use commercially acceptable means of protecting it. But remember\nthat no method of transmission over the internet, or method of electronic\nstorage is 100% secure and reliable, and I cannot guarantee its absolute\nsecurity.\n\n### Links to Other Sites\n\nThis Service may contain links to other sites. If you click on a third-party\nlink, you will be directed to that site. Note that these external sites are\nnot operated by me. Therefore, I strongly advise you to review the Privacy\nPolicy of these websites. I have no control over and assume no responsibility\nfor the content, privacy policies, or practices of any third-party sites or\nservices.\n\n### Children’s Privacy\n\nThese Services do not address anyone under the age of 13. I do not knowingly\ncollect personally identifiable information from children under 13. In the\ncase I discover that a child under 13 has provided me with personal\ninformation, I immediately delete this from our servers. If you are a parent\nor guardian and you are aware that your child has provided us with personal\ninformation, please contact me so that I will be able to do necessary actions.\n\n### Changes to This Privacy Policy\n\nI may update our Privacy Policy from time to time. Thus, you are advised to\nreview this page periodically for any changes. I will notify you of any\nchanges by posting the new Privacy Policy on this page.\n\nThis policy is effective as of 2020-05-04\n\n### Contact Us\n\nIf you have any questions or suggestions about my Privacy Policy, do not\nhesitate to contact me at [support.funfacts@garciaericn.com](mailto:support.funfacts@garciaericn.com).\n\nThis privacy policy page was created at\n\n\n privacypolicytemplate.net\n\nand modified/generated by\n\n App Privacy Policy Generator\n\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/fun-facts/privacy.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/apps/memory-vault/page-data.json b/page-data/apps/memory-vault/page-data.json index 9e8b0492..1b8f1455 100644 --- a/page-data/apps/memory-vault/page-data.json +++ b/page-data/apps/memory-vault/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-apps-memory-vault-index-mdx","path":"/apps/memory-vault/","result":{"pageContext":{"frontmatter":{"title":"Memory Vault"},"relativePagePath":"/apps/memory-vault/index.mdx","titleType":"prepend","MdxNode":{"id":"4f3da48d-f2c9-5104-940f-d847b45425ae","children":[],"parent":"06bce4be-4585-56d0-bba1-6fe2bb46379f","internal":{"content":"---\ntitle: Memory Vault\n---\n\n## Overview\n\nMemory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe...even if your phone isn't.\n\n## Download\n\nAvailable for:\n\n- Android: [Memory Vault](https://play.google.com/store/apps/details?id=com.garciaericn.memoryvault)\n- iOS: [Memory Vault](https://itunes.apple.com/us/app/memory-vault-keep-your-memories-safe/id982428248?mt=8)\n","type":"Mdx","contentDigest":"6978bac96111283c7ddb6f9f538fb07e","owner":"gatsby-plugin-mdx","counter":168},"frontmatter":{"title":"Memory Vault"},"exports":{},"rawBody":"---\ntitle: Memory Vault\n---\n\n## Overview\n\nMemory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe...even if your phone isn't.\n\n## Download\n\nAvailable for:\n\n- Android: [Memory Vault](https://play.google.com/store/apps/details?id=com.garciaericn.memoryvault)\n- iOS: [Memory Vault](https://itunes.apple.com/us/app/memory-vault-keep-your-memories-safe/id982428248?mt=8)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/memory-vault/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-apps-memory-vault-index-mdx","path":"/apps/memory-vault/","result":{"pageContext":{"frontmatter":{"title":"Memory Vault"},"relativePagePath":"/apps/memory-vault/index.mdx","titleType":"prepend","MdxNode":{"id":"4f3da48d-f2c9-5104-940f-d847b45425ae","children":[],"parent":"06bce4be-4585-56d0-bba1-6fe2bb46379f","internal":{"content":"---\ntitle: Memory Vault\n---\n\n## Overview\n\nMemory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe...even if your phone isn't.\n\n## Download\n\nAvailable for:\n\n- Android: [Memory Vault](https://play.google.com/store/apps/details?id=com.garciaericn.memoryvault)\n- iOS: [Memory Vault](https://itunes.apple.com/us/app/memory-vault-keep-your-memories-safe/id982428248?mt=8)\n","type":"Mdx","contentDigest":"6978bac96111283c7ddb6f9f538fb07e","owner":"gatsby-plugin-mdx","counter":170},"frontmatter":{"title":"Memory Vault"},"exports":{},"rawBody":"---\ntitle: Memory Vault\n---\n\n## Overview\n\nMemory Vault is a cross platform app that keeps all your memories safe and synced between all your Android and iOS devices. Your memories are saved in the cloud so they are always safe...even if your phone isn't.\n\n## Download\n\nAvailable for:\n\n- Android: [Memory Vault](https://play.google.com/store/apps/details?id=com.garciaericn.memoryvault)\n- iOS: [Memory Vault](https://itunes.apple.com/us/app/memory-vault-keep-your-memories-safe/id982428248?mt=8)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/apps/memory-vault/index.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/code-notes/git/page-data.json b/page-data/code-notes/git/page-data.json index 9e05ed4c..bd7f859a 100644 --- a/page-data/code-notes/git/page-data.json +++ b/page-data/code-notes/git/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-code-notes-git-mdx","path":"/code-notes/git/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"git","author":"Eric Garcia","updateBy":"Eric Garcia","last_updated":"2017-06-09T00:00:00.000Z","category":"git","tags":"git"},"relativePagePath":"/code-notes/git.mdx","titleType":"prepend","MdxNode":{"id":"72429e07-eb32-5fef-9bff-4f513a3e6ea2","children":[],"parent":"821d9fab-6a96-5419-bdec-de46dc59e72b","internal":{"content":"---\nlayout: note\ntitle: git\nauthor: 'Eric Garcia'\nupdateBy: Eric Garcia\nlast_updated: 2017-06-09\ncategory: git\ntags: 'git'\n---\n\n\n\nThis page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed.\n\n\n\n\n Commits\n Checkout\n Branching\n Clean\n Diff\n Excluding files\n Forking\n .gitignore\n Merge conflicts\n Undoing commits\n Other Configurations\n\n\n## Commits\n\n### Amending a Commit Message\n\nChanging a commit message can cause lots of problems if not handled correctly. Only use the following if **absolutely** necessary.\n\n### Local commits\n\nTo open your editor, allowing you to change the commit message of the most recent commit:\n\n```shell\ngit commit --amend\n```\n\nAdditionally, you can set the commit message directly in the command line with:\n\n```shell\ngit commit --amend -m \"New commit message\"\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n\n\nMake sure you don't have any working directory changes before doing this or they can get committed too.\n\n\n\n### Remote commits\n\nChanging the message of a commit that you've already pushed to your remote branch\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```shell\ngit push --force\n```\n\nOr\n\n```shell\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n### Past Commits\n\n[source](https://stackoverflow.com/a/1186549/2218959)\n\nYou can use rebase to edit a past commit by passing the commit hash, with the following:\n\n```shell\ngit rebase -i '^'\n```\n\nOnce your editor is opened with the rebase dialog, put edit as the action word for that commit. Save and close. Open the project and make the changes you wanted to update to that commit. To keep the same commit message you have previously use:\n\n```shell\ngit commit --all --amend --no-edit\n```\n\nNow you can use `git rebase --continue` and go a `git push -f` to force push your changes to the remote repo.\n\n## Checkout\n\nTo check out a file form another branch:\n\n```shell\ngit checkout -- \n```\n\n## Branching\n\n\n Resetting local branch to match remote\n Deleting a remote branch\n Local branches\n Delete all local branches except main\n References to remote branches\n Remote branches\n\n\n> I follow git branching naming convention outline in this [gist](https://gist.github.com/digitaljhelms/4287848)\n\nList all branches including remotes\n\n```shell\ngit branch -a\n```\n\n### Resetting local branch to match remote\n\nBack to main header: [Branching](#branching)\n\nSetting your branch to exactly match the remote branch can be done in two steps:\n\n```shell\ngit fetch origin\ngit reset --hard origin/master\n```\n\nIf you want to save your current branch's state before doing this (just in case), you can do:\n\n```shell\ngit commit -a -m \"Saving my work, just in case\"\ngit branch my-saved-work\n```\n\n\n\nAlso see [git clean](#clean)\n\n\n\n### Deleting a remote branch\n\nBack to main header: [Branching](#branching)\n\n```shell\ngit push origin :\n```\n\n### Local branches\n\nBack to main header: [Branching](#branching)\n\n**Sourced From:** [Git housekeeping tutorial](http://railsware.com/blog/2014/08/11/git-housekeeping-tutorial-clean-up-outdated-branches-in-local-and-remote-repositories/)\n\nAt first, list all local branches:\n\n```shell\ngit branch\n```\n\nWe need to know what branches are already merged in “master” and can be easily removed:\n\n```shell\ngit checkout master\ngit branch --merged\n```\n\nNow, remove all outdated branches with:\n\n```shell\ngit branch -d \n```\n\nNext, decide what to do with not merged branches:\n\n```shell\ngit branch --no-merged\n```\n\nIf some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:\n\n```shell\ngit branch -D old-abandoned-feature\n```\n\n### Delete all local branches except main\n\nBack to main header: [Branching](#branching)\n\nYou can do a dry run to see all branches this command will delete first by running the following:\n\n```shell\ngit branch | grep -v $(git_main_branch)\n```\n\nIf this matches what you are looking to delete, you can run the following to actually delete the branch.\n\n```shell\ngit branch | grep -v $(git_main_branch) | xargs git branch -D\n```\n\n[source](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/delete-all-branches-except-master-main-local-remote)\n\n### References to remote branches\n\nBack to main header: [Branching](#branching)\n\nAfter each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.\n\nList referenced remote branches:\n\n```shell\ngit branch -r\n```\n\nClean-up outdated references:\n\n```shell\ngit remote prune origin\n```\n\n\n\nUpdate repository with: `git fetch -p` and Git automatically prunes all stale references.\n\n\n\n### Remote branches\n\nBack to main header: [Branching](#branching)\n\nUsually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.\n\nAfter previous `git remote prune origin` we should have synched list of remote branches.\n\nAt first, we can find branches which are already merged in “master”:\n\n```shell\ngit checkout master\n$ git branch -r --merged\n```\n\nBut this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.\n\nThis magic snippet provides all required information:\n\n```shell\nfor branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nNow, you can delete own remote branches, and ask other authors to clean-up theirs:\n\n```shell\ngit push origin --delete branch-name\n```\n\nSimilar snippet for not merged branches:\n\n```shell\nfor branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nThis list should be reviewed more thoroughly to avoid losing important commits.\n\n## Clean\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```shell\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```shell\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```shell\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```shell\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```shell\ngit clean -xf\n```\n\n### Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```shell\ngit reset --hard\n```\n\nRemove untracked files\n\n```shell\ngit clean -df\n```\n\n## Diff\n\nSimply use `git diff` and a file name to check difference between committed and non staged changes.\n\n```shell\ngit diff FILE_NAME\n```\n\nIf you need to verify the difference of a file that is already staged use the following.\n\n```shell\ngit diff --staged FILE_NAME\n```\n\nIf you you want to diff two branches use the following.\n\n```shell\ngit diff main...develop\n\n# or to compare with the current branch simply\ngit diff OTHER_BRANCH_NAME\n```\n\nYou can also use some useful flags with this command if the output it to great.\n\n- `--name-only` to see only the file names.\n- `-- fileOrDirectory` add this to the end if you want to check only a particular file or directory.\n\n### Git diff with opendiff\n\n[Source](https://thomashunter.name/blog/set-opendiff-filemerge-as-your-git-diff-tool-on-os-x/)\n\n```shell\nmkdir ~/bin/\ntouch ~/bin/git-diff.sh\n```\n\nThe contents of the file will look like this:\n\n```shell\n#!/bin/sh\n/usr/bin/opendiff \"$2\" \"$5\" -merge \"$1\"\n```\n\nOnce the script has been made, you’ll want it to be executable\n\n```shell\nchmod u+x ~/bin/git-diff.sh\n```\n\nFinally, tell git that you want to set it up as your default merge tool:\n\n```shell\ngit config --global diff.external ~/bin/git-diff.sh\n```\n\nIf you later decide you hate it, run this command to go back:\n\n```shell\ngit config --global --unset diff.external\n```\n\n## Excluding files\n\n### Ignoring tracked files in your local repo\n\n```shell\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```shell\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```shell\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```shell\n[alias]\n ignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n### Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```shell\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```shell\ngit exclude SOME_FILE\n```\n\n## Forking\n\n[Source](http://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```shell\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another **userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](../forking/git-pull-request.png)\n\n## .gitignore\n\n### Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```shell\ngit rm --cached filename\n```\n\n### Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```shell\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```shell\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```shell\n git add .\n ```\n\n4. Commit it:\n\n ```shell\n git commit -m \".gitignore is now working\"\n ```\n\n## Merge conflicts\n\n### Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```shell\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```shell\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```shell\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```shell\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```shell\ngit stash show\n```\n\n## Undoing commits\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n# << edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n\n## Other Configurations\n\n```shell\ngit config --global core.trustctime false\n```\n\n[source](https://stackoverflow.com/a/21891017/2218959)\n","type":"Mdx","contentDigest":"40db16228f64e4dbc0cef1251e935d12","owner":"gatsby-plugin-mdx","counter":163},"frontmatter":{"layout":"note","title":"git","author":"Eric Garcia","updateBy":"Eric Garcia","last_updated":"2017-06-09T00:00:00.000Z","category":"git","tags":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: git\nauthor: 'Eric Garcia'\nupdateBy: Eric Garcia\nlast_updated: 2017-06-09\ncategory: git\ntags: 'git'\n---\n\n\n\nThis page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed.\n\n\n\n\n Commits\n Checkout\n Branching\n Clean\n Diff\n Excluding files\n Forking\n .gitignore\n Merge conflicts\n Undoing commits\n Other Configurations\n\n\n## Commits\n\n### Amending a Commit Message\n\nChanging a commit message can cause lots of problems if not handled correctly. Only use the following if **absolutely** necessary.\n\n### Local commits\n\nTo open your editor, allowing you to change the commit message of the most recent commit:\n\n```shell\ngit commit --amend\n```\n\nAdditionally, you can set the commit message directly in the command line with:\n\n```shell\ngit commit --amend -m \"New commit message\"\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n\n\nMake sure you don't have any working directory changes before doing this or they can get committed too.\n\n\n\n### Remote commits\n\nChanging the message of a commit that you've already pushed to your remote branch\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```shell\ngit push --force\n```\n\nOr\n\n```shell\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n### Past Commits\n\n[source](https://stackoverflow.com/a/1186549/2218959)\n\nYou can use rebase to edit a past commit by passing the commit hash, with the following:\n\n```shell\ngit rebase -i '^'\n```\n\nOnce your editor is opened with the rebase dialog, put edit as the action word for that commit. Save and close. Open the project and make the changes you wanted to update to that commit. To keep the same commit message you have previously use:\n\n```shell\ngit commit --all --amend --no-edit\n```\n\nNow you can use `git rebase --continue` and go a `git push -f` to force push your changes to the remote repo.\n\n## Checkout\n\nTo check out a file form another branch:\n\n```shell\ngit checkout -- \n```\n\n## Branching\n\n\n Resetting local branch to match remote\n Deleting a remote branch\n Local branches\n Delete all local branches except main\n References to remote branches\n Remote branches\n\n\n> I follow git branching naming convention outline in this [gist](https://gist.github.com/digitaljhelms/4287848)\n\nList all branches including remotes\n\n```shell\ngit branch -a\n```\n\n### Resetting local branch to match remote\n\nBack to main header: [Branching](#branching)\n\nSetting your branch to exactly match the remote branch can be done in two steps:\n\n```shell\ngit fetch origin\ngit reset --hard origin/master\n```\n\nIf you want to save your current branch's state before doing this (just in case), you can do:\n\n```shell\ngit commit -a -m \"Saving my work, just in case\"\ngit branch my-saved-work\n```\n\n\n\nAlso see [git clean](#clean)\n\n\n\n### Deleting a remote branch\n\nBack to main header: [Branching](#branching)\n\n```shell\ngit push origin :\n```\n\n### Local branches\n\nBack to main header: [Branching](#branching)\n\n**Sourced From:** [Git housekeeping tutorial](http://railsware.com/blog/2014/08/11/git-housekeeping-tutorial-clean-up-outdated-branches-in-local-and-remote-repositories/)\n\nAt first, list all local branches:\n\n```shell\ngit branch\n```\n\nWe need to know what branches are already merged in “master” and can be easily removed:\n\n```shell\ngit checkout master\ngit branch --merged\n```\n\nNow, remove all outdated branches with:\n\n```shell\ngit branch -d \n```\n\nNext, decide what to do with not merged branches:\n\n```shell\ngit branch --no-merged\n```\n\nIf some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:\n\n```shell\ngit branch -D old-abandoned-feature\n```\n\n### Delete all local branches except main\n\nBack to main header: [Branching](#branching)\n\nYou can do a dry run to see all branches this command will delete first by running the following:\n\n```shell\ngit branch | grep -v $(git_main_branch)\n```\n\nIf this matches what you are looking to delete, you can run the following to actually delete the branch.\n\n```shell\ngit branch | grep -v $(git_main_branch) | xargs git branch -D\n```\n\n[source](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/delete-all-branches-except-master-main-local-remote)\n\n### References to remote branches\n\nBack to main header: [Branching](#branching)\n\nAfter each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.\n\nList referenced remote branches:\n\n```shell\ngit branch -r\n```\n\nClean-up outdated references:\n\n```shell\ngit remote prune origin\n```\n\n\n\nUpdate repository with: `git fetch -p` and Git automatically prunes all stale references.\n\n\n\n### Remote branches\n\nBack to main header: [Branching](#branching)\n\nUsually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.\n\nAfter previous `git remote prune origin` we should have synched list of remote branches.\n\nAt first, we can find branches which are already merged in “master”:\n\n```shell\ngit checkout master\n$ git branch -r --merged\n```\n\nBut this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.\n\nThis magic snippet provides all required information:\n\n```shell\nfor branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nNow, you can delete own remote branches, and ask other authors to clean-up theirs:\n\n```shell\ngit push origin --delete branch-name\n```\n\nSimilar snippet for not merged branches:\n\n```shell\nfor branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nThis list should be reviewed more thoroughly to avoid losing important commits.\n\n## Clean\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```shell\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```shell\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```shell\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```shell\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```shell\ngit clean -xf\n```\n\n### Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```shell\ngit reset --hard\n```\n\nRemove untracked files\n\n```shell\ngit clean -df\n```\n\n## Diff\n\nSimply use `git diff` and a file name to check difference between committed and non staged changes.\n\n```shell\ngit diff FILE_NAME\n```\n\nIf you need to verify the difference of a file that is already staged use the following.\n\n```shell\ngit diff --staged FILE_NAME\n```\n\nIf you you want to diff two branches use the following.\n\n```shell\ngit diff main...develop\n\n# or to compare with the current branch simply\ngit diff OTHER_BRANCH_NAME\n```\n\nYou can also use some useful flags with this command if the output it to great.\n\n- `--name-only` to see only the file names.\n- `-- fileOrDirectory` add this to the end if you want to check only a particular file or directory.\n\n### Git diff with opendiff\n\n[Source](https://thomashunter.name/blog/set-opendiff-filemerge-as-your-git-diff-tool-on-os-x/)\n\n```shell\nmkdir ~/bin/\ntouch ~/bin/git-diff.sh\n```\n\nThe contents of the file will look like this:\n\n```shell\n#!/bin/sh\n/usr/bin/opendiff \"$2\" \"$5\" -merge \"$1\"\n```\n\nOnce the script has been made, you’ll want it to be executable\n\n```shell\nchmod u+x ~/bin/git-diff.sh\n```\n\nFinally, tell git that you want to set it up as your default merge tool:\n\n```shell\ngit config --global diff.external ~/bin/git-diff.sh\n```\n\nIf you later decide you hate it, run this command to go back:\n\n```shell\ngit config --global --unset diff.external\n```\n\n## Excluding files\n\n### Ignoring tracked files in your local repo\n\n```shell\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```shell\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```shell\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```shell\n[alias]\n ignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n### Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```shell\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```shell\ngit exclude SOME_FILE\n```\n\n## Forking\n\n[Source](http://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```shell\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another **userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](../forking/git-pull-request.png)\n\n## .gitignore\n\n### Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```shell\ngit rm --cached filename\n```\n\n### Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```shell\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```shell\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```shell\n git add .\n ```\n\n4. Commit it:\n\n ```shell\n git commit -m \".gitignore is now working\"\n ```\n\n## Merge conflicts\n\n### Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```shell\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```shell\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```shell\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```shell\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```shell\ngit stash show\n```\n\n## Undoing commits\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n# << edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n\n## Other Configurations\n\n```shell\ngit config --global core.trustctime false\n```\n\n[source](https://stackoverflow.com/a/21891017/2218959)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/code-notes/git.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-code-notes-git-mdx","path":"/code-notes/git/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"git","author":"Eric Garcia","updateBy":"Eric Garcia","last_updated":"2017-06-09T00:00:00.000Z","category":"git","tags":"git"},"relativePagePath":"/code-notes/git.mdx","titleType":"prepend","MdxNode":{"id":"72429e07-eb32-5fef-9bff-4f513a3e6ea2","children":[],"parent":"821d9fab-6a96-5419-bdec-de46dc59e72b","internal":{"content":"---\nlayout: note\ntitle: git\nauthor: 'Eric Garcia'\nupdateBy: Eric Garcia\nlast_updated: 2017-06-09\ncategory: git\ntags: 'git'\n---\n\n\n\nThis page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed.\n\n\n\n\n Commits\n Checkout\n Branching\n Clean\n Diff\n Excluding files\n Forking\n .gitignore\n Merge conflicts\n Undoing commits\n Other Configurations\n\n\n## Commits\n\n### Amending a Commit Message\n\nChanging a commit message can cause lots of problems if not handled correctly. Only use the following if **absolutely** necessary.\n\n### Local commits\n\nTo open your editor, allowing you to change the commit message of the most recent commit:\n\n```shell\ngit commit --amend\n```\n\nAdditionally, you can set the commit message directly in the command line with:\n\n```shell\ngit commit --amend -m \"New commit message\"\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n\n\nMake sure you don't have any working directory changes before doing this or they can get committed too.\n\n\n\n### Remote commits\n\nChanging the message of a commit that you've already pushed to your remote branch\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```shell\ngit push --force\n```\n\nOr\n\n```shell\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n### Past Commits\n\n[source](https://stackoverflow.com/a/1186549/2218959)\n\nYou can use rebase to edit a past commit by passing the commit hash, with the following:\n\n```shell\ngit rebase -i '^'\n```\n\nOnce your editor is opened with the rebase dialog, put edit as the action word for that commit. Save and close. Open the project and make the changes you wanted to update to that commit. To keep the same commit message you have previously use:\n\n```shell\ngit commit --all --amend --no-edit\n```\n\nNow you can use `git rebase --continue` and go a `git push -f` to force push your changes to the remote repo.\n\n## Checkout\n\nTo check out a file form another branch:\n\n```shell\ngit checkout -- \n```\n\n## Branching\n\n\n Resetting local branch to match remote\n Deleting a remote branch\n Local branches\n Delete all local branches except main\n References to remote branches\n Remote branches\n\n\n> I follow git branching naming convention outline in this [gist](https://gist.github.com/digitaljhelms/4287848)\n\nList all branches including remotes\n\n```shell\ngit branch -a\n```\n\n### Resetting local branch to match remote\n\nBack to main header: [Branching](#branching)\n\nSetting your branch to exactly match the remote branch can be done in two steps:\n\n```shell\ngit fetch origin\ngit reset --hard origin/master\n```\n\nIf you want to save your current branch's state before doing this (just in case), you can do:\n\n```shell\ngit commit -a -m \"Saving my work, just in case\"\ngit branch my-saved-work\n```\n\n\n\nAlso see [git clean](#clean)\n\n\n\n### Deleting a remote branch\n\nBack to main header: [Branching](#branching)\n\n```shell\ngit push origin :\n```\n\n### Local branches\n\nBack to main header: [Branching](#branching)\n\n**Sourced From:** [Git housekeeping tutorial](http://railsware.com/blog/2014/08/11/git-housekeeping-tutorial-clean-up-outdated-branches-in-local-and-remote-repositories/)\n\nAt first, list all local branches:\n\n```shell\ngit branch\n```\n\nWe need to know what branches are already merged in “master” and can be easily removed:\n\n```shell\ngit checkout master\ngit branch --merged\n```\n\nNow, remove all outdated branches with:\n\n```shell\ngit branch -d \n```\n\nNext, decide what to do with not merged branches:\n\n```shell\ngit branch --no-merged\n```\n\nIf some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:\n\n```shell\ngit branch -D old-abandoned-feature\n```\n\n### Delete all local branches except main\n\nBack to main header: [Branching](#branching)\n\nYou can do a dry run to see all branches this command will delete first by running the following:\n\n```shell\ngit branch | grep -v $(git_main_branch)\n```\n\nIf this matches what you are looking to delete, you can run the following to actually delete the branch.\n\n```shell\ngit branch | grep -v $(git_main_branch) | xargs git branch -D\n```\n\n[source](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/delete-all-branches-except-master-main-local-remote)\n\n### References to remote branches\n\nBack to main header: [Branching](#branching)\n\nAfter each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.\n\nList referenced remote branches:\n\n```shell\ngit branch -r\n```\n\nClean-up outdated references:\n\n```shell\ngit remote prune origin\n```\n\n\n\nUpdate repository with: `git fetch -p` and Git automatically prunes all stale references.\n\n\n\n### Remote branches\n\nBack to main header: [Branching](#branching)\n\nUsually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.\n\nAfter previous `git remote prune origin` we should have synched list of remote branches.\n\nAt first, we can find branches which are already merged in “master”:\n\n```shell\ngit checkout master\n$ git branch -r --merged\n```\n\nBut this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.\n\nThis magic snippet provides all required information:\n\n```shell\nfor branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nNow, you can delete own remote branches, and ask other authors to clean-up theirs:\n\n```shell\ngit push origin --delete branch-name\n```\n\nSimilar snippet for not merged branches:\n\n```shell\nfor branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nThis list should be reviewed more thoroughly to avoid losing important commits.\n\n## Clean\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```shell\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```shell\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```shell\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```shell\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```shell\ngit clean -xf\n```\n\n### Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```shell\ngit reset --hard\n```\n\nRemove untracked files\n\n```shell\ngit clean -df\n```\n\n## Diff\n\nSimply use `git diff` and a file name to check difference between committed and non staged changes.\n\n```shell\ngit diff FILE_NAME\n```\n\nIf you need to verify the difference of a file that is already staged use the following.\n\n```shell\ngit diff --staged FILE_NAME\n```\n\nIf you you want to diff two branches use the following.\n\n```shell\ngit diff main...develop\n\n# or to compare with the current branch simply\ngit diff OTHER_BRANCH_NAME\n```\n\nYou can also use some useful flags with this command if the output it to great.\n\n- `--name-only` to see only the file names.\n- `-- fileOrDirectory` add this to the end if you want to check only a particular file or directory.\n\n### Git diff with opendiff\n\n[Source](https://thomashunter.name/blog/set-opendiff-filemerge-as-your-git-diff-tool-on-os-x/)\n\n```shell\nmkdir ~/bin/\ntouch ~/bin/git-diff.sh\n```\n\nThe contents of the file will look like this:\n\n```shell\n#!/bin/sh\n/usr/bin/opendiff \"$2\" \"$5\" -merge \"$1\"\n```\n\nOnce the script has been made, you’ll want it to be executable\n\n```shell\nchmod u+x ~/bin/git-diff.sh\n```\n\nFinally, tell git that you want to set it up as your default merge tool:\n\n```shell\ngit config --global diff.external ~/bin/git-diff.sh\n```\n\nIf you later decide you hate it, run this command to go back:\n\n```shell\ngit config --global --unset diff.external\n```\n\n## Excluding files\n\n### Ignoring tracked files in your local repo\n\n```shell\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```shell\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```shell\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```shell\n[alias]\n ignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n### Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```shell\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```shell\ngit exclude SOME_FILE\n```\n\n## Forking\n\n[Source](http://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```shell\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another **userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](../forking/git-pull-request.png)\n\n## .gitignore\n\n### Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```shell\ngit rm --cached filename\n```\n\n### Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```shell\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```shell\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```shell\n git add .\n ```\n\n4. Commit it:\n\n ```shell\n git commit -m \".gitignore is now working\"\n ```\n\n## Merge conflicts\n\n### Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```shell\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```shell\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```shell\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```shell\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```shell\ngit stash show\n```\n\n## Undoing commits\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n# << edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n\n## Other Configurations\n\n```shell\ngit config --global core.trustctime false\n```\n\n[source](https://stackoverflow.com/a/21891017/2218959)\n","type":"Mdx","contentDigest":"40db16228f64e4dbc0cef1251e935d12","owner":"gatsby-plugin-mdx","counter":162},"frontmatter":{"layout":"note","title":"git","author":"Eric Garcia","updateBy":"Eric Garcia","last_updated":"2017-06-09T00:00:00.000Z","category":"git","tags":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: git\nauthor: 'Eric Garcia'\nupdateBy: Eric Garcia\nlast_updated: 2017-06-09\ncategory: git\ntags: 'git'\n---\n\n\n\nThis page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed.\n\n\n\n\n Commits\n Checkout\n Branching\n Clean\n Diff\n Excluding files\n Forking\n .gitignore\n Merge conflicts\n Undoing commits\n Other Configurations\n\n\n## Commits\n\n### Amending a Commit Message\n\nChanging a commit message can cause lots of problems if not handled correctly. Only use the following if **absolutely** necessary.\n\n### Local commits\n\nTo open your editor, allowing you to change the commit message of the most recent commit:\n\n```shell\ngit commit --amend\n```\n\nAdditionally, you can set the commit message directly in the command line with:\n\n```shell\ngit commit --amend -m \"New commit message\"\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n\n\nMake sure you don't have any working directory changes before doing this or they can get committed too.\n\n\n\n### Remote commits\n\nChanging the message of a commit that you've already pushed to your remote branch\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```shell\ngit push --force\n```\n\nOr\n\n```shell\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n### Past Commits\n\n[source](https://stackoverflow.com/a/1186549/2218959)\n\nYou can use rebase to edit a past commit by passing the commit hash, with the following:\n\n```shell\ngit rebase -i '^'\n```\n\nOnce your editor is opened with the rebase dialog, put edit as the action word for that commit. Save and close. Open the project and make the changes you wanted to update to that commit. To keep the same commit message you have previously use:\n\n```shell\ngit commit --all --amend --no-edit\n```\n\nNow you can use `git rebase --continue` and go a `git push -f` to force push your changes to the remote repo.\n\n## Checkout\n\nTo check out a file form another branch:\n\n```shell\ngit checkout -- \n```\n\n## Branching\n\n\n Resetting local branch to match remote\n Deleting a remote branch\n Local branches\n Delete all local branches except main\n References to remote branches\n Remote branches\n\n\n> I follow git branching naming convention outline in this [gist](https://gist.github.com/digitaljhelms/4287848)\n\nList all branches including remotes\n\n```shell\ngit branch -a\n```\n\n### Resetting local branch to match remote\n\nBack to main header: [Branching](#branching)\n\nSetting your branch to exactly match the remote branch can be done in two steps:\n\n```shell\ngit fetch origin\ngit reset --hard origin/master\n```\n\nIf you want to save your current branch's state before doing this (just in case), you can do:\n\n```shell\ngit commit -a -m \"Saving my work, just in case\"\ngit branch my-saved-work\n```\n\n\n\nAlso see [git clean](#clean)\n\n\n\n### Deleting a remote branch\n\nBack to main header: [Branching](#branching)\n\n```shell\ngit push origin :\n```\n\n### Local branches\n\nBack to main header: [Branching](#branching)\n\n**Sourced From:** [Git housekeeping tutorial](http://railsware.com/blog/2014/08/11/git-housekeeping-tutorial-clean-up-outdated-branches-in-local-and-remote-repositories/)\n\nAt first, list all local branches:\n\n```shell\ngit branch\n```\n\nWe need to know what branches are already merged in “master” and can be easily removed:\n\n```shell\ngit checkout master\ngit branch --merged\n```\n\nNow, remove all outdated branches with:\n\n```shell\ngit branch -d \n```\n\nNext, decide what to do with not merged branches:\n\n```shell\ngit branch --no-merged\n```\n\nIf some of them is just abandoned stuff that you don’t need anymore, remove it with “-D” option:\n\n```shell\ngit branch -D old-abandoned-feature\n```\n\n### Delete all local branches except main\n\nBack to main header: [Branching](#branching)\n\nYou can do a dry run to see all branches this command will delete first by running the following:\n\n```shell\ngit branch | grep -v $(git_main_branch)\n```\n\nIf this matches what you are looking to delete, you can run the following to actually delete the branch.\n\n```shell\ngit branch | grep -v $(git_main_branch) | xargs git branch -D\n```\n\n[source](https://www.theserverside.com/blog/Coffee-Talk-Java-News-Stories-and-Opinions/delete-all-branches-except-master-main-local-remote)\n\n### References to remote branches\n\nBack to main header: [Branching](#branching)\n\nAfter each git pull or git fetch command Git creates references to remote branches in local repository, but doesn’t clean up stale references.\n\nList referenced remote branches:\n\n```shell\ngit branch -r\n```\n\nClean-up outdated references:\n\n```shell\ngit remote prune origin\n```\n\n\n\nUpdate repository with: `git fetch -p` and Git automatically prunes all stale references.\n\n\n\n### Remote branches\n\nBack to main header: [Branching](#branching)\n\nUsually, remote repository is a big garbage heap of stale branches, if there is no responsible housekeeping person.\n\nAfter previous `git remote prune origin` we should have synched list of remote branches.\n\nAt first, we can find branches which are already merged in “master”:\n\n```shell\ngit checkout master\n$ git branch -r --merged\n```\n\nBut this command does not provide much information. What if this branch is merged, but still used for feature development. Would be cool to know last commit date and author.\n\nThis magic snippet provides all required information:\n\n```shell\nfor branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nNow, you can delete own remote branches, and ask other authors to clean-up theirs:\n\n```shell\ngit push origin --delete branch-name\n```\n\nSimilar snippet for not merged branches:\n\n```shell\nfor branch in `git branch -r --no-merged | grep -v HEAD`; do echo -e `git show --format=\"%ci %cr %an\" $branch | head -n 1` \\\\t$branch; done | sort -r\n```\n\nThis list should be reviewed more thoroughly to avoid losing important commits.\n\n## Clean\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```shell\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```shell\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```shell\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```shell\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```shell\ngit clean -xf\n```\n\n### Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```shell\ngit reset --hard\n```\n\nRemove untracked files\n\n```shell\ngit clean -df\n```\n\n## Diff\n\nSimply use `git diff` and a file name to check difference between committed and non staged changes.\n\n```shell\ngit diff FILE_NAME\n```\n\nIf you need to verify the difference of a file that is already staged use the following.\n\n```shell\ngit diff --staged FILE_NAME\n```\n\nIf you you want to diff two branches use the following.\n\n```shell\ngit diff main...develop\n\n# or to compare with the current branch simply\ngit diff OTHER_BRANCH_NAME\n```\n\nYou can also use some useful flags with this command if the output it to great.\n\n- `--name-only` to see only the file names.\n- `-- fileOrDirectory` add this to the end if you want to check only a particular file or directory.\n\n### Git diff with opendiff\n\n[Source](https://thomashunter.name/blog/set-opendiff-filemerge-as-your-git-diff-tool-on-os-x/)\n\n```shell\nmkdir ~/bin/\ntouch ~/bin/git-diff.sh\n```\n\nThe contents of the file will look like this:\n\n```shell\n#!/bin/sh\n/usr/bin/opendiff \"$2\" \"$5\" -merge \"$1\"\n```\n\nOnce the script has been made, you’ll want it to be executable\n\n```shell\nchmod u+x ~/bin/git-diff.sh\n```\n\nFinally, tell git that you want to set it up as your default merge tool:\n\n```shell\ngit config --global diff.external ~/bin/git-diff.sh\n```\n\nIf you later decide you hate it, run this command to go back:\n\n```shell\ngit config --global --unset diff.external\n```\n\n## Excluding files\n\n### Ignoring tracked files in your local repo\n\n```shell\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```shell\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```shell\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```shell\n[alias]\n ignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n### Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```shell\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```shell\ngit exclude SOME_FILE\n```\n\n## Forking\n\n[Source](http://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```shell\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another **userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](../forking/git-pull-request.png)\n\n## .gitignore\n\n### Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```shell\ngit rm --cached filename\n```\n\n### Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```shell\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```shell\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```shell\n git add .\n ```\n\n4. Commit it:\n\n ```shell\n git commit -m \".gitignore is now working\"\n ```\n\n## Merge conflicts\n\n### Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```shell\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```shell\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```shell\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```shell\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```shell\ngit stash show\n```\n\n## Undoing commits\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n# << edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n\n## Other Configurations\n\n```shell\ngit config --global core.trustctime false\n```\n\n[source](https://stackoverflow.com/a/21891017/2218959)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/code-notes/git.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/code-notes/go/page-data.json b/page-data/code-notes/go/page-data.json index ab01c553..9a55081d 100644 --- a/page-data/code-notes/go/page-data.json +++ b/page-data/code-notes/go/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-code-notes-go-mdx","path":"/code-notes/go/","result":{"pageContext":{"frontmatter":{"title":"Go","description":"Go coding notes and reference materials"},"relativePagePath":"/code-notes/go.mdx","titleType":"prepend","MdxNode":{"id":"78930f2f-5fe6-5664-9faf-592ad1380eaa","children":[],"parent":"0e645936-9316-51a3-bd53-383e9e45a615","internal":{"content":"---\ntitle: Go\ndescription: Go coding notes and reference materials\n---\n\n\n\nThis page is a collection of tips and tricks I've come to learn about the Go programing language.\n\n\n\n\n Slice: Append & Prepend\n Tools as dependencies\n Additional References\n\n\n## Slice: Append & Prepend\n\nTo append and prepend you would use the same build in `append` go method. The only difference is the oder in which you supply the\n\n```go\nxi := []int{2,3,4}\n\n// append the number 5\nxi = append(xi, 5)\nfmt.Println(xi)\n// [2 3 4 5]\n\n// prepend the number 1\nxi = append([]int{1}, xi...)\nfmt.Println(xi)\n// [1 2 3 4 5]\n```\n\n- [Go Playground](https://go.dev/play/p/P-InPKinGob)\n- [Go docs](https://pkg.go.dev/builtin?utm_source=gopls#append)\n\nExplanation:\n\nThe arguments for append are a slice (first argument), and the 2nd and further\narguments are elements you are looking to append to the slice.\n\nSo for a standard append you pass it your starting slice, and then any number\nof elements you wish to append.\n\nFor the prepend, you have to pass that starting element in as a slice, you you\nhave to define the slice and type with its literal value. Then for the second\nargument you unfirl (not sure the proper term here) the slice with `...`. This\ntells go to pass in the individual values help by that slice rather than the\nslice itself.\n\n## Tools as dependencies\n\nThere is a pattern to track tools as dependencies in Go. This is used when you need tools to build your project or generate code for protos, mocks, or any other tools. This pattern is used when those tools are not imported in any files but used by the developer to build the project.\n\nThe simplest way to achieve this is to add a **tools.go** file to the root of your project. This will serve as an individual package. While the name of this package and file are not important, using a descriptive name is always helpful.\n\nIn this file you must add the go directive `// +build tools`, and then make sure all tools are listed, in the `import` section. All the tools should be prefixed with `_`, which shows that it is not explicitly imported anywhere else, but is required for the package.\n\nA simple example:\n\n```go path=path/to/project/tools.go\n// +build tools\n\npackage tools\n\nimport (\n\t_ \"github.com/path/to/some/tool\"\n)\n```\n\nSources\n\n- [wiki walk through](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md)\n- [example project](https://github.com/go-modules-by-example/tools)\n- [How can I track tool dependencies for a module?](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module)\n\n## Additional References\n\n\n Links\n Comparisons\n\n\n### Links\n\n- [Go cheatsheet](https://devhints.io/go)\n- [Go Playground](https://go.dev/play/)\n- [Go Play Space](https://goplay.space/) - an alternative to Go playground with syntax highlighting and inline documentation.\n\n### Comparisons\n\n#### Logging frameworks\n\n- [Logrus](https://github.com/sirupsen/logrus)\n- [Zap: by Uber](https://github.com/uber-go/zap)\n\nThis article compares logrus with zap. \n","type":"Mdx","contentDigest":"8f7136d45092479a22e8295f1f27116a","owner":"gatsby-plugin-mdx","counter":162},"frontmatter":{"title":"Go","description":"Go coding notes and reference materials"},"exports":{},"rawBody":"---\ntitle: Go\ndescription: Go coding notes and reference materials\n---\n\n\n\nThis page is a collection of tips and tricks I've come to learn about the Go programing language.\n\n\n\n\n Slice: Append & Prepend\n Tools as dependencies\n Additional References\n\n\n## Slice: Append & Prepend\n\nTo append and prepend you would use the same build in `append` go method. The only difference is the oder in which you supply the\n\n```go\nxi := []int{2,3,4}\n\n// append the number 5\nxi = append(xi, 5)\nfmt.Println(xi)\n// [2 3 4 5]\n\n// prepend the number 1\nxi = append([]int{1}, xi...)\nfmt.Println(xi)\n// [1 2 3 4 5]\n```\n\n- [Go Playground](https://go.dev/play/p/P-InPKinGob)\n- [Go docs](https://pkg.go.dev/builtin?utm_source=gopls#append)\n\nExplanation:\n\nThe arguments for append are a slice (first argument), and the 2nd and further\narguments are elements you are looking to append to the slice.\n\nSo for a standard append you pass it your starting slice, and then any number\nof elements you wish to append.\n\nFor the prepend, you have to pass that starting element in as a slice, you you\nhave to define the slice and type with its literal value. Then for the second\nargument you unfirl (not sure the proper term here) the slice with `...`. This\ntells go to pass in the individual values help by that slice rather than the\nslice itself.\n\n## Tools as dependencies\n\nThere is a pattern to track tools as dependencies in Go. This is used when you need tools to build your project or generate code for protos, mocks, or any other tools. This pattern is used when those tools are not imported in any files but used by the developer to build the project.\n\nThe simplest way to achieve this is to add a **tools.go** file to the root of your project. This will serve as an individual package. While the name of this package and file are not important, using a descriptive name is always helpful.\n\nIn this file you must add the go directive `// +build tools`, and then make sure all tools are listed, in the `import` section. All the tools should be prefixed with `_`, which shows that it is not explicitly imported anywhere else, but is required for the package.\n\nA simple example:\n\n```go path=path/to/project/tools.go\n// +build tools\n\npackage tools\n\nimport (\n\t_ \"github.com/path/to/some/tool\"\n)\n```\n\nSources\n\n- [wiki walk through](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md)\n- [example project](https://github.com/go-modules-by-example/tools)\n- [How can I track tool dependencies for a module?](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module)\n\n## Additional References\n\n\n Links\n Comparisons\n\n\n### Links\n\n- [Go cheatsheet](https://devhints.io/go)\n- [Go Playground](https://go.dev/play/)\n- [Go Play Space](https://goplay.space/) - an alternative to Go playground with syntax highlighting and inline documentation.\n\n### Comparisons\n\n#### Logging frameworks\n\n- [Logrus](https://github.com/sirupsen/logrus)\n- [Zap: by Uber](https://github.com/uber-go/zap)\n\nThis article compares logrus with zap. \n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/code-notes/go.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-code-notes-go-mdx","path":"/code-notes/go/","result":{"pageContext":{"frontmatter":{"title":"Go","description":"Go coding notes and reference materials"},"relativePagePath":"/code-notes/go.mdx","titleType":"prepend","MdxNode":{"id":"78930f2f-5fe6-5664-9faf-592ad1380eaa","children":[],"parent":"0e645936-9316-51a3-bd53-383e9e45a615","internal":{"content":"---\ntitle: Go\ndescription: Go coding notes and reference materials\n---\n\n\n\nThis page is a collection of tips and tricks I've come to learn about the Go programing language.\n\n\n\n\n Slice: Append & Prepend\n Tools as dependencies\n Additional References\n\n\n## Slice: Append & Prepend\n\nTo append and prepend you would use the same build in `append` go method. The only difference is the oder in which you supply the\n\n```go\nxi := []int{2,3,4}\n\n// append the number 5\nxi = append(xi, 5)\nfmt.Println(xi)\n// [2 3 4 5]\n\n// prepend the number 1\nxi = append([]int{1}, xi...)\nfmt.Println(xi)\n// [1 2 3 4 5]\n```\n\n- [Go Playground](https://go.dev/play/p/P-InPKinGob)\n- [Go docs](https://pkg.go.dev/builtin?utm_source=gopls#append)\n\nExplanation:\n\nThe arguments for append are a slice (first argument), and the 2nd and further\narguments are elements you are looking to append to the slice.\n\nSo for a standard append you pass it your starting slice, and then any number\nof elements you wish to append.\n\nFor the prepend, you have to pass that starting element in as a slice, you you\nhave to define the slice and type with its literal value. Then for the second\nargument you unfirl (not sure the proper term here) the slice with `...`. This\ntells go to pass in the individual values help by that slice rather than the\nslice itself.\n\n## Tools as dependencies\n\nThere is a pattern to track tools as dependencies in Go. This is used when you need tools to build your project or generate code for protos, mocks, or any other tools. This pattern is used when those tools are not imported in any files but used by the developer to build the project.\n\nThe simplest way to achieve this is to add a **tools.go** file to the root of your project. This will serve as an individual package. While the name of this package and file are not important, using a descriptive name is always helpful.\n\nIn this file you must add the go directive `// +build tools`, and then make sure all tools are listed, in the `import` section. All the tools should be prefixed with `_`, which shows that it is not explicitly imported anywhere else, but is required for the package.\n\nA simple example:\n\n```go path=path/to/project/tools.go\n// +build tools\n\npackage tools\n\nimport (\n\t_ \"github.com/path/to/some/tool\"\n)\n```\n\nSources\n\n- [wiki walk through](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md)\n- [example project](https://github.com/go-modules-by-example/tools)\n- [How can I track tool dependencies for a module?](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module)\n\n## Additional References\n\n\n Links\n Comparisons\n\n\n### Links\n\n- [Go cheatsheet](https://devhints.io/go)\n- [Go Playground](https://go.dev/play/)\n- [Go Play Space](https://goplay.space/) - an alternative to Go playground with syntax highlighting and inline documentation.\n\n### Comparisons\n\n#### Logging frameworks\n\n- [Logrus](https://github.com/sirupsen/logrus)\n- [Zap: by Uber](https://github.com/uber-go/zap)\n\nThis article compares logrus with zap. \n","type":"Mdx","contentDigest":"8f7136d45092479a22e8295f1f27116a","owner":"gatsby-plugin-mdx","counter":163},"frontmatter":{"title":"Go","description":"Go coding notes and reference materials"},"exports":{},"rawBody":"---\ntitle: Go\ndescription: Go coding notes and reference materials\n---\n\n\n\nThis page is a collection of tips and tricks I've come to learn about the Go programing language.\n\n\n\n\n Slice: Append & Prepend\n Tools as dependencies\n Additional References\n\n\n## Slice: Append & Prepend\n\nTo append and prepend you would use the same build in `append` go method. The only difference is the oder in which you supply the\n\n```go\nxi := []int{2,3,4}\n\n// append the number 5\nxi = append(xi, 5)\nfmt.Println(xi)\n// [2 3 4 5]\n\n// prepend the number 1\nxi = append([]int{1}, xi...)\nfmt.Println(xi)\n// [1 2 3 4 5]\n```\n\n- [Go Playground](https://go.dev/play/p/P-InPKinGob)\n- [Go docs](https://pkg.go.dev/builtin?utm_source=gopls#append)\n\nExplanation:\n\nThe arguments for append are a slice (first argument), and the 2nd and further\narguments are elements you are looking to append to the slice.\n\nSo for a standard append you pass it your starting slice, and then any number\nof elements you wish to append.\n\nFor the prepend, you have to pass that starting element in as a slice, you you\nhave to define the slice and type with its literal value. Then for the second\nargument you unfirl (not sure the proper term here) the slice with `...`. This\ntells go to pass in the individual values help by that slice rather than the\nslice itself.\n\n## Tools as dependencies\n\nThere is a pattern to track tools as dependencies in Go. This is used when you need tools to build your project or generate code for protos, mocks, or any other tools. This pattern is used when those tools are not imported in any files but used by the developer to build the project.\n\nThe simplest way to achieve this is to add a **tools.go** file to the root of your project. This will serve as an individual package. While the name of this package and file are not important, using a descriptive name is always helpful.\n\nIn this file you must add the go directive `// +build tools`, and then make sure all tools are listed, in the `import` section. All the tools should be prefixed with `_`, which shows that it is not explicitly imported anywhere else, but is required for the package.\n\nA simple example:\n\n```go path=path/to/project/tools.go\n// +build tools\n\npackage tools\n\nimport (\n\t_ \"github.com/path/to/some/tool\"\n)\n```\n\nSources\n\n- [wiki walk through](https://github.com/go-modules-by-example/index/blob/master/010_tools/README.md)\n- [example project](https://github.com/go-modules-by-example/tools)\n- [How can I track tool dependencies for a module?](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module)\n\n## Additional References\n\n\n Links\n Comparisons\n\n\n### Links\n\n- [Go cheatsheet](https://devhints.io/go)\n- [Go Playground](https://go.dev/play/)\n- [Go Play Space](https://goplay.space/) - an alternative to Go playground with syntax highlighting and inline documentation.\n\n### Comparisons\n\n#### Logging frameworks\n\n- [Logrus](https://github.com/sirupsen/logrus)\n- [Zap: by Uber](https://github.com/uber-go/zap)\n\nThis article compares logrus with zap. \n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/code-notes/go.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/development/jekyll/page-data.json b/page-data/development/jekyll/page-data.json index 0c02bf22..3d914f3e 100644 --- a/page-data/development/jekyll/page-data.json +++ b/page-data/development/jekyll/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-development-jekyll-mdx","path":"/development/jekyll/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Jekyll","author":"Eric Garcia","last_updated":"2016-07-25T00:00:00.000Z","category":"Development","keywords":"jekyll,gem"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/development/jekyll.mdx","titleType":"prepend","MdxNode":{"id":"c260ba3a-191b-53f8-b61e-ab638fe18747","children":[],"parent":"fc322263-742a-5abb-8b93-87a2468a9471","internal":{"content":"---\nlayout: note\ntitle: Jekyll\nauthor: 'Eric Garcia'\nlast_updated: 2016-07-25\ncategory: Development\nkeywords: 'jekyll,gem'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n[source](https://stackoverflow.com/a/14636783/2218959)\n\n### Specifying a `:path` attribute will install the gem from that path on your local machine\n\n```ruby\ngem \"\", :path => \"\"\n```\n\n### Alternately, specifying a `:git` attribute will install the gem from a remote git repository\n\n```ruby\n\"git://github.com//.git\"\n\n# ...or at a specific SHA-1 ref\ngem \"\", :git => \"git://github.com//.git\", :ref => \"bf648a070c\"\n\n# ...or branch\ngem \"\", :git => \"git://github.com//.git\", :branch => \"jruby\"\n\n# ...or tag\ngem \"\", :git => \"git://github.com//.git\", :tag => \"v0.45.0\"\n```\n","type":"Mdx","contentDigest":"b2e64b1a796ee214f22ca14358db9cd0","owner":"gatsby-plugin-mdx","counter":218},"frontmatter":{"layout":"note","title":"Jekyll","author":"Eric Garcia","last_updated":"2016-07-25T00:00:00.000Z","category":"Development","keywords":"jekyll,gem"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Jekyll\nauthor: 'Eric Garcia'\nlast_updated: 2016-07-25\ncategory: Development\nkeywords: 'jekyll,gem'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n[source](https://stackoverflow.com/a/14636783/2218959)\n\n### Specifying a `:path` attribute will install the gem from that path on your local machine\n\n```ruby\ngem \"\", :path => \"\"\n```\n\n### Alternately, specifying a `:git` attribute will install the gem from a remote git repository\n\n```ruby\n\"git://github.com//.git\"\n\n# ...or at a specific SHA-1 ref\ngem \"\", :git => \"git://github.com//.git\", :ref => \"bf648a070c\"\n\n# ...or branch\ngem \"\", :git => \"git://github.com//.git\", :branch => \"jruby\"\n\n# ...or tag\ngem \"\", :git => \"git://github.com//.git\", :tag => \"v0.45.0\"\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/development/jekyll.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-development-jekyll-mdx","path":"/development/jekyll/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Jekyll","author":"Eric Garcia","last_updated":"2016-07-25T00:00:00.000Z","category":"Development","keywords":"jekyll,gem"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/development/jekyll.mdx","titleType":"prepend","MdxNode":{"id":"c260ba3a-191b-53f8-b61e-ab638fe18747","children":[],"parent":"fc322263-742a-5abb-8b93-87a2468a9471","internal":{"content":"---\nlayout: note\ntitle: Jekyll\nauthor: 'Eric Garcia'\nlast_updated: 2016-07-25\ncategory: Development\nkeywords: 'jekyll,gem'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n[source](https://stackoverflow.com/a/14636783/2218959)\n\n### Specifying a `:path` attribute will install the gem from that path on your local machine\n\n```ruby\ngem \"\", :path => \"\"\n```\n\n### Alternately, specifying a `:git` attribute will install the gem from a remote git repository\n\n```ruby\n\"git://github.com//.git\"\n\n# ...or at a specific SHA-1 ref\ngem \"\", :git => \"git://github.com//.git\", :ref => \"bf648a070c\"\n\n# ...or branch\ngem \"\", :git => \"git://github.com//.git\", :branch => \"jruby\"\n\n# ...or tag\ngem \"\", :git => \"git://github.com//.git\", :tag => \"v0.45.0\"\n```\n","type":"Mdx","contentDigest":"b2e64b1a796ee214f22ca14358db9cd0","owner":"gatsby-plugin-mdx","counter":209},"frontmatter":{"layout":"note","title":"Jekyll","author":"Eric Garcia","last_updated":"2016-07-25T00:00:00.000Z","category":"Development","keywords":"jekyll,gem"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Jekyll\nauthor: 'Eric Garcia'\nlast_updated: 2016-07-25\ncategory: Development\nkeywords: 'jekyll,gem'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n[source](https://stackoverflow.com/a/14636783/2218959)\n\n### Specifying a `:path` attribute will install the gem from that path on your local machine\n\n```ruby\ngem \"\", :path => \"\"\n```\n\n### Alternately, specifying a `:git` attribute will install the gem from a remote git repository\n\n```ruby\n\"git://github.com//.git\"\n\n# ...or at a specific SHA-1 ref\ngem \"\", :git => \"git://github.com//.git\", :ref => \"bf648a070c\"\n\n# ...or branch\ngem \"\", :git => \"git://github.com//.git\", :branch => \"jruby\"\n\n# ...or tag\ngem \"\", :git => \"git://github.com//.git\", :tag => \"v0.45.0\"\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/development/jekyll.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/amending_commit_message/page-data.json b/page-data/git/amending_commit_message/page-data.json index a3530598..70455d02 100644 --- a/page-data/git/amending_commit_message/page-data.json +++ b/page-data/git/amending_commit_message/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-amending-commit-message-md","path":"/git/amending_commit_message/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Amending a Commit Message","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/amending_commit_message.md","titleType":"prepend","MdxNode":{"id":"7178584c-e0e1-5259-9294-08b445dc7abf","children":[],"parent":"45a9ed73-cc8c-5f2c-ab4d-3f2cb516fa10","internal":{"content":"---\nlayout: note\ntitle: \"Amending a Commit Message\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nTo open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:\n\n```bash\ngit commit --amend\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n```bash\ngit commit --amend -m \"New commit message\"\n```\n\nMake sure you don't have any working copy changes before doing this or they can get committed too.\n\nChanging the message of a commit that you've already pushed to your remote branch\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```bash\ngit push --force\n```\n\nOr\n\n```bash\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n","type":"Mdx","contentDigest":"0a5be4db8a1761266040adf89a5baf2e","owner":"gatsby-plugin-mdx","counter":209},"frontmatter":{"layout":"note","title":"Amending a Commit Message","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Amending a Commit Message\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nTo open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:\n\n```bash\ngit commit --amend\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n```bash\ngit commit --amend -m \"New commit message\"\n```\n\nMake sure you don't have any working copy changes before doing this or they can get committed too.\n\nChanging the message of a commit that you've already pushed to your remote branch\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```bash\ngit push --force\n```\n\nOr\n\n```bash\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/amending_commit_message.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-amending-commit-message-md","path":"/git/amending_commit_message/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Amending a Commit Message","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/amending_commit_message.md","titleType":"prepend","MdxNode":{"id":"7178584c-e0e1-5259-9294-08b445dc7abf","children":[],"parent":"45a9ed73-cc8c-5f2c-ab4d-3f2cb516fa10","internal":{"content":"---\nlayout: note\ntitle: \"Amending a Commit Message\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nTo open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:\n\n```bash\ngit commit --amend\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n```bash\ngit commit --amend -m \"New commit message\"\n```\n\nMake sure you don't have any working copy changes before doing this or they can get committed too.\n\nChanging the message of a commit that you've already pushed to your remote branch\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```bash\ngit push --force\n```\n\nOr\n\n```bash\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n","type":"Mdx","contentDigest":"0a5be4db8a1761266040adf89a5baf2e","owner":"gatsby-plugin-mdx","counter":210},"frontmatter":{"layout":"note","title":"Amending a Commit Message","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Amending a Commit Message\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nTo open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message directly in the command line with:\n\n```bash\ngit commit --amend\n```\n\n…however, this can make multi-line commit messages or small corrections more cumbersome to enter.\n\n```bash\ngit commit --amend -m \"New commit message\"\n```\n\nMake sure you don't have any working copy changes before doing this or they can get committed too.\n\nChanging the message of a commit that you've already pushed to your remote branch\n\nIf you've already pushed your commit up to your remote branch, then you'll need to force push the commit with\n\n```bash\ngit push --force\n```\n\nOr\n\n```bash\ngit push -f\n```\n\n**Warning:** force-pushing will overwrite the remote branch with the state of your local one. If there are commits on the remote branch that you don't have in your local branch, you will lose those commits.\n\n**Warning:** be cautious about amending commits that you have already shared with other people. Amending commits essentially rewrites them to have different SHA IDs, which poses a problem if other people have copies of the old commit that you've rewritten. Anyone who has a copy of the old commit will need to re-synchronize their work with your newly re-written commit, which can sometimes be difficult, so make sure you coordinate with others when attempting to rewrite shared commit history, or just avoid rewriting shared commits altogether.\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/amending_commit_message.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/clean/page-data.json b/page-data/git/clean/page-data.json index 66070b09..1117deaf 100644 --- a/page-data/git/clean/page-data.json +++ b/page-data/git/clean/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-clean-md","path":"/git/clean/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Git Clean","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/clean.md","titleType":"prepend","MdxNode":{"id":"ba26fac7-7b17-532e-870f-f4986f53ccbe","children":[],"parent":"90711d85-38ca-5812-b929-6af83fd5413b","internal":{"content":"---\nlayout: note\ntitle: \"Git Clean\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```bash\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```bash\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```bash\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```bash\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```bash\ngit clean -xf\n```\n\n## Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```bash\ngit reset --hard\n```\n\nRemove untracked files\n\n```bash\ngit clean -df\n```\n","type":"Mdx","contentDigest":"8670831180ca6a2052632832f05a39a3","owner":"gatsby-plugin-mdx","counter":210},"frontmatter":{"layout":"note","title":"Git Clean","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Git Clean\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```bash\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```bash\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```bash\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```bash\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```bash\ngit clean -xf\n```\n\n## Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```bash\ngit reset --hard\n```\n\nRemove untracked files\n\n```bash\ngit clean -df\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/clean.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-clean-md","path":"/git/clean/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Git Clean","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/clean.md","titleType":"prepend","MdxNode":{"id":"ba26fac7-7b17-532e-870f-f4986f53ccbe","children":[],"parent":"90711d85-38ca-5812-b929-6af83fd5413b","internal":{"content":"---\nlayout: note\ntitle: \"Git Clean\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```bash\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```bash\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```bash\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```bash\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```bash\ngit clean -xf\n```\n\n## Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```bash\ngit reset --hard\n```\n\nRemove untracked files\n\n```bash\ngit clean -df\n```\n","type":"Mdx","contentDigest":"8670831180ca6a2052632832f05a39a3","owner":"gatsby-plugin-mdx","counter":212},"frontmatter":{"layout":"note","title":"Git Clean","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Git Clean\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\nPerform a “dry run” of `git clean`. This will show you which files are going to be removed without actually doing it.\n\n```bash\ngit clean -n\n```\n\nRemove untracked files from the current directory. The `-f` (force) flag is required unless the clean.requireForce configuration option is set to false (it's true by default). This will not remove untracked folders or files specified by .gitignore.\n\n```bash\ngit clean -f\n```\n\nRemove untracked files, but limit the operation to the specified path.\n\n```bash\ngit clean -f \n```\n\nRemove untracked files and untracked directories from the current directory.\n\n```bash\ngit clean -df\n```\n\nRemove untracked files from the current directory as well as any files that Git usually ignores.\n\n```bash\ngit clean -xf\n```\n\n## Example\n\n- Edit some existing files\n- Add some new files\n- Realize you have no idea what you're doing\n\nUndo changes in tracked files\n\n```bash\ngit reset --hard\n```\n\nRemove untracked files\n\n```bash\ngit clean -df\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/clean.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/excluding_files/page-data.json b/page-data/git/excluding_files/page-data.json index ba3937ea..c6a0462e 100644 --- a/page-data/git/excluding_files/page-data.json +++ b/page-data/git/excluding_files/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-excluding-files-md","path":"/git/excluding_files/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Excluding Files","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/excluding_files.md","titleType":"prepend","MdxNode":{"id":"ff928afc-db35-5ec8-bebf-ff35d84f2865","children":[],"parent":"1687cfee-8f32-584c-9f14-6506287cada9","internal":{"content":"---\nlayout: note\ntitle: \"Excluding Files\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Ignoring tracked files in your local repo\n\n```bash\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```bash\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```bash\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```bash\n[alias]\n\tignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n## Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```bash\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```bash\ngit exclude SOME_FILE\n```\n","type":"Mdx","contentDigest":"7b9e80a4ce03b1f18417f0d7dd87b75d","owner":"gatsby-plugin-mdx","counter":212},"frontmatter":{"layout":"note","title":"Excluding Files","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Excluding Files\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Ignoring tracked files in your local repo\n\n```bash\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```bash\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```bash\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```bash\n[alias]\n\tignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n## Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```bash\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```bash\ngit exclude SOME_FILE\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/excluding_files.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-excluding-files-md","path":"/git/excluding_files/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Excluding Files","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/excluding_files.md","titleType":"prepend","MdxNode":{"id":"ff928afc-db35-5ec8-bebf-ff35d84f2865","children":[],"parent":"1687cfee-8f32-584c-9f14-6506287cada9","internal":{"content":"---\nlayout: note\ntitle: \"Excluding Files\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Ignoring tracked files in your local repo\n\n```bash\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```bash\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```bash\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```bash\n[alias]\n\tignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n## Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```bash\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```bash\ngit exclude SOME_FILE\n```\n","type":"Mdx","contentDigest":"7b9e80a4ce03b1f18417f0d7dd87b75d","owner":"gatsby-plugin-mdx","counter":214},"frontmatter":{"layout":"note","title":"Excluding Files","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Excluding Files\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Ignoring tracked files in your local repo\n\n```bash\ngit update-index --skip-worktree SOME_FILE\n```\n\nor\n\n```bash\ngit update-index --assume-unchanged SOME_FILE\n```\n\nTo undo assume unchanged\n\n```bash\ngit update-index --no-assume-unchanged SOME_FILE\n```\n\nIf using `assume-unchanged` you can add the following to your **~/.gitconfig**\n\nThis will allow you to use the alias `git ignored` to list all excluded files\n\n```bash\n[alias]\n\tignored = !git ls-files -v | grep \"^[[:lower:]]\"\n```\n\n## Ignoring un-tracked files in your local repo\n\n> Untested\n\nIf you ever want to ignore a file from git, but don't want to add it to the **.gitignore** file, you can do it on your local copy by adding it to the file **.git/info/exclude**\n\nI've setup an alias to do so, just add this to your **.gitconfig** file under the `[alias]` section\n\n```bash\nexclude = !sh -c 'echo \"$1\" >> .git/info/exclude' -\n```\n\nThen you can execute:\n\n```bash\ngit exclude SOME_FILE\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/excluding_files.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/forking/page-data.json b/page-data/git/forking/page-data.json index 7cb852e6..5b4d4b0f 100644 --- a/page-data/git/forking/page-data.json +++ b/page-data/git/forking/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-forking-md","path":"/git/forking/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Working with Forked Repositories","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/forking.md","titleType":"prepend","MdxNode":{"id":"54707999-596c-502f-addb-b440474a3350","children":[],"parent":"3c9d6e9c-dd3d-553a-9627-3c9df074849b","internal":{"content":"---\nlayout: note\ntitle: Working with Forked Repositories\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[Source](https://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```bash\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another ** userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](./git-pull-request.png)\n","type":"Mdx","contentDigest":"4c484f6dc540e0eaeedcaa8fa4fd8b5c","owner":"gatsby-plugin-mdx","counter":214},"frontmatter":{"layout":"note","title":"Working with Forked Repositories","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Working with Forked Repositories\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[Source](https://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```bash\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another ** userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](./git-pull-request.png)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/forking.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-forking-md","path":"/git/forking/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Working with Forked Repositories","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/forking.md","titleType":"prepend","MdxNode":{"id":"54707999-596c-502f-addb-b440474a3350","children":[],"parent":"3c9d6e9c-dd3d-553a-9627-3c9df074849b","internal":{"content":"---\nlayout: note\ntitle: Working with Forked Repositories\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[Source](https://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```bash\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another ** userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](./git-pull-request.png)\n","type":"Mdx","contentDigest":"4c484f6dc540e0eaeedcaa8fa4fd8b5c","owner":"gatsby-plugin-mdx","counter":215},"frontmatter":{"layout":"note","title":"Working with Forked Repositories","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Working with Forked Repositories\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[Source](https://stackoverflow.com/questions/9153598/how-do-i-fetch-a-branch-on-someone-elses-fork-on-github)\n\nWhen needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that branch. This can be accomplished by:\n\n```bash\ngit remote add theirUsername git@github.com:theirUsername/repoName.git\ngit fetch theirUsername\ngit checkout -b my_name_for_their_branch theirUsername/theirBranch\n```\n\n### Example\n\nFollowing directions for [Keeping your fork in sync](https://github.ibm.com/MFPSamples/DevCenter/wiki/Keep-fork-in-sync) for the DevCetner.\n\nIn this example I will be demonstrating creating a `GA` branch from `upstream`, in my local environment. I will be prefixing the remote `GA` branch with my initials to have a differentiation between the `upstream` branch and my local (forked) copy.\n\nYou can set `upstream` as the repo to follow (**userName**)\n\n```sh\ngit remote add upstream git@github.ibm.com:MFPSamples/DevCenter\n```\n\nOnce this is done your are free to `fetch` and `pull` code from the `upstream` witch is the source repo for all changes (representing another ** userName**).\n\n```sh\ngit fetch upstream\ngit merge upstream/master\n```\n\n**Note:** This is assuming you are trying to merge to you local (forked) `master` branch\n\nIf you need to work off a branch that is in the `upstream` but not in your local repository (forked) you can create it with a link to upstream as follows:\n\n```sh\ngit checkout -b ENG-GA upstream/GA\n```\n\nThis line creates a local branch `ENG-GA` based on `upstream/GA`. So now you can make updates to your local repo `ENG-GA` and then push it back to `upstream/GA` which should help reduce merge conflicts. You still want to be sure to keep your local (forked) branch up to date if your changes will happen over time. Periodically you will need to merge `upstream/GA` with the following:\n\n```sh\ngit fetch upstream\ngit merge upstream/GA\n```\n\nOnce you are ready to submit your changes back to upstream you can create a pull request via [_github.com_](github.ibm.com). Ensuring that your base branch is `GA` and the head branch is `ENG-GA`. See image for details.\n\n![Pull Request](./git-pull-request.png)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/forking.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/gitignore/page-data.json b/page-data/git/gitignore/page-data.json index dc1c9a4a..f1c44b63 100644 --- a/page-data/git/gitignore/page-data.json +++ b/page-data/git/gitignore/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-gitignore-md","path":"/git/gitignore/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Updating .gitignore","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/gitignore.md","titleType":"prepend","MdxNode":{"id":"77f815e8-4c9e-503d-8905-6d7bedbb782e","children":[],"parent":"601a391c-acaa-5a32-bce1-cb471e8f6a9b","internal":{"content":"---\nlayout: note\ntitle: \"Updating .gitignore\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```bash\ngit rm --cached filename\n```\n\n## Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```bash\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```bash\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```bash\n git add .\n ```\n\n4. Commit it:\n\n ```bash\n git commit -m \".gitignore is now working\"\n ```\n","type":"Mdx","contentDigest":"4dd7b3a67e89287ee7a7a7b37a7c4e63","owner":"gatsby-plugin-mdx","counter":215},"frontmatter":{"layout":"note","title":"Updating .gitignore","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Updating .gitignore\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```bash\ngit rm --cached filename\n```\n\n## Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```bash\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```bash\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```bash\n git add .\n ```\n\n4. Commit it:\n\n ```bash\n git commit -m \".gitignore is now working\"\n ```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/gitignore.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-gitignore-md","path":"/git/gitignore/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Updating .gitignore","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/gitignore.md","titleType":"prepend","MdxNode":{"id":"77f815e8-4c9e-503d-8905-6d7bedbb782e","children":[],"parent":"601a391c-acaa-5a32-bce1-cb471e8f6a9b","internal":{"content":"---\nlayout: note\ntitle: \"Updating .gitignore\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```bash\ngit rm --cached filename\n```\n\n## Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```bash\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```bash\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```bash\n git add .\n ```\n\n4. Commit it:\n\n ```bash\n git commit -m \".gitignore is now working\"\n ```\n","type":"Mdx","contentDigest":"4dd7b3a67e89287ee7a7a7b37a7c4e63","owner":"gatsby-plugin-mdx","counter":216},"frontmatter":{"layout":"note","title":"Updating .gitignore","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Updating .gitignore\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Untracking a single file\n\nTo untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file but not delete it from your system use:\n\n```bash\ngit rm --cached filename\n```\n\n## Untracking all files\n\nTo untrack every file that is now in your **.gitignore**:\n\n1. Commit any outstanding code changes, and then, run this command:\n\n ```bash\n git commit -m \"Commit message\"\n ```\n\n2. This removes any changed files from the index(staging area), then just run:\n\n ```bash\n git rm -r --cached .\n ```\n\n3. Add all tracked changes\n\n ```bash\n git add .\n ```\n\n4. Commit it:\n\n ```bash\n git commit -m \".gitignore is now working\"\n ```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/gitignore.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/merge_conflicts/page-data.json b/page-data/git/merge_conflicts/page-data.json index 09eee7f4..83413ce0 100644 --- a/page-data/git/merge_conflicts/page-data.json +++ b/page-data/git/merge_conflicts/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-merge-conflicts-md","path":"/git/merge_conflicts/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Resolving Merge Conflicts","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/merge_conflicts.md","titleType":"prepend","MdxNode":{"id":"f96cfd5a-033f-58c1-bacb-9fc53cfa9778","children":[],"parent":"0e748813-fb5b-5055-b191-04b2a0892056","internal":{"content":"---\nlayout: note\ntitle: \"Resolving Merge Conflicts\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```bash\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```bash\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```bash\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```bash\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```bash\ngit stash show\n```\n","type":"Mdx","contentDigest":"10c0e501111251e3f8c3d95a6b5f9296","owner":"gatsby-plugin-mdx","counter":216},"frontmatter":{"layout":"note","title":"Resolving Merge Conflicts","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Resolving Merge Conflicts\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```bash\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```bash\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```bash\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```bash\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```bash\ngit stash show\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/merge_conflicts.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-merge-conflicts-md","path":"/git/merge_conflicts/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Resolving Merge Conflicts","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/merge_conflicts.md","titleType":"prepend","MdxNode":{"id":"f96cfd5a-033f-58c1-bacb-9fc53cfa9778","children":[],"parent":"0e748813-fb5b-5055-b191-04b2a0892056","internal":{"content":"---\nlayout: note\ntitle: \"Resolving Merge Conflicts\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```bash\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```bash\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```bash\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```bash\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```bash\ngit stash show\n```\n","type":"Mdx","contentDigest":"10c0e501111251e3f8c3d95a6b5f9296","owner":"gatsby-plugin-mdx","counter":217},"frontmatter":{"layout":"note","title":"Resolving Merge Conflicts","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: \"Resolving Merge Conflicts\"\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n## Local changes to same files\n\nTo resolve merge conflicts with error.\n\n```bash\nerror: Your local changes to the following files would be overwritten by merge:\n```\n\nTo stash entire working tree\n\n```bash\ngit stash save --keep-index\n```\n\nNow you will be able to merge branch successfully\n\nIf you do not need your local changes you can simple drop the stash\n\n```bash\ngit stash drop\n```\n\nor...if you need your changes you can attempt to process them in now using pop\n\n```bash\ngit stash pop\n```\n\nTo show what is in your stash use show\n\n```bash\ngit stash show\n```\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/merge_conflicts.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/git/undo-last-commit/page-data.json b/page-data/git/undo-last-commit/page-data.json index 414d2b71..1c3c06be 100644 --- a/page-data/git/undo-last-commit/page-data.json +++ b/page-data/git/undo-last-commit/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-git-undo-last-commit-md","path":"/git/undo-last-commit/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Reverting last commit","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/undo-last-commit.md","titleType":"prepend","MdxNode":{"id":"d229d0cd-d659-5ac2-9663-d97a2e6d9b33","children":[],"parent":"31dae63b-5408-527a-b120-d2def76835db","internal":{"content":"---\nlayout: note\ntitle: Reverting last commit\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n<< edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n","type":"Mdx","contentDigest":"d75e14a5b2f071ca035b011561846b20","owner":"gatsby-plugin-mdx","counter":217},"frontmatter":{"layout":"note","title":"Reverting last commit","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Reverting last commit\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n<< edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/undo-last-commit.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-git-undo-last-commit-md","path":"/git/undo-last-commit/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Reverting last commit","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/undo-last-commit.md","titleType":"prepend","MdxNode":{"id":"d229d0cd-d659-5ac2-9663-d97a2e6d9b33","children":[],"parent":"31dae63b-5408-527a-b120-d2def76835db","internal":{"content":"---\nlayout: note\ntitle: Reverting last commit\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n<< edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n","type":"Mdx","contentDigest":"d75e14a5b2f071ca035b011561846b20","owner":"gatsby-plugin-mdx","counter":218},"frontmatter":{"layout":"note","title":"Reverting last commit","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"git"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Reverting last commit\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: git\n---\n\n[source](http://stackoverflow.com/questions/927358/how-do-you-undo-the-last-commit)\n\n```shell\ngit commit -m \"Something terribly misguided\"\ngit reset --soft HEAD~\n<< edit files as necessary >>\ngit add ...\ngit commit -m \"New commit message\"\ngit commit -c ORIG_HEAD\n```\n\n[source](http://stackoverflow.com/questions/3197413/how-do-i-delete-unpushed-git-commits)\n\nDelete the most recent commit, keeping the work you've done:\n\n`git reset --soft HEAD~1`\n\nDelete the most recent commit, destroying the work you've done:\n\n`git reset --hard HEAD~1`\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/git/undo-last-commit.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/notes/page-data.json b/page-data/notes/page-data.json index 338725c3..2f7f46b7 100644 --- a/page-data/notes/page-data.json +++ b/page-data/notes/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-notes-mdx","path":"/notes/","result":{"data":{"allMdx":{"group":[{"edges":[{"node":{"frontmatter":{"category":"Career","description":"A brag list of milestones in my career.","title":"Career roadmap"},"id":"fba6e617-81c6-5dd8-b189-74fc0f92b0cd","slug":"career/roadmap","timeToRead":1,"excerpt":"Back to notes landing page A place to keep track of my career milestones. 2023 2023Q3 Earned Developer Profession - Level 3 Expert…"}}]},{"edges":[{"node":{"frontmatter":{"category":"Development","description":null,"title":"Jekyll"},"id":"c260ba3a-191b-53f8-b61e-ab638fe18747","slug":"development/jekyll","timeToRead":1,"excerpt":"Back to notes landing page source Specifying a :path attribute will install the gem from that path on your local machine Alternately…"}}]},{"edges":[{"node":{"frontmatter":{"category":"android","description":null,"title":"Android"},"id":"78839c4b-685c-5c86-8be2-cb6d772f8c79","slug":"android/android","timeToRead":1,"excerpt":"Eclipse Download the ADT Plugin Start Eclipse, then select Help > Install New Software. Click Add, in the top-right corner. In the Add…"}}]},{"edges":[{"node":{"frontmatter":{"category":"git","description":null,"title":"git"},"id":"72429e07-eb32-5fef-9bff-4f513a3e6ea2","slug":"code-notes/git","timeToRead":6,"excerpt":"This page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed. Commits…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Amending a Commit Message"},"id":"7178584c-e0e1-5259-9294-08b445dc7abf","slug":"git/amending_commit_message","timeToRead":1,"excerpt":"To open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Clean"},"id":"ba26fac7-7b17-532e-870f-f4986f53ccbe","slug":"git/clean","timeToRead":1,"excerpt":"Perform a “dry run” of git clean . This will show you which files are going to be removed without actually doing it. Remove untracked files…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Branching"},"id":"27ce874d-5a73-5911-a360-68f674787adb","slug":"git/branching","timeToRead":1,"excerpt":"I follow git branching naming convention outline in this gist List all branches including remotes Resetting local branch to match remote…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Excluding Files"},"id":"ff928afc-db35-5ec8-bebf-ff35d84f2865","slug":"git/excluding_files","timeToRead":1,"excerpt":"Ignoring tracked files in your local repo or To undo assume unchanged If using assume-unchanged you can add the following to your…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Diff"},"id":"78327ff3-ddfe-51c5-9f17-f0b16edb0989","slug":"git/diff","timeToRead":1,"excerpt":"Simply use git diff and a file name to check difference between commited and non staged changes If you need to verify the difference of a…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Working with Forked Repositories"},"id":"54707999-596c-502f-addb-b440474a3350","slug":"git/forking","timeToRead":1,"excerpt":"Source When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Updating .gitignore"},"id":"77f815e8-4c9e-503d-8905-6d7bedbb782e","slug":"git/gitignore","timeToRead":1,"excerpt":"Untracking a single file To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Resolving Merge Conflicts"},"id":"f96cfd5a-033f-58c1-bacb-9fc53cfa9778","slug":"git/merge_conflicts","timeToRead":1,"excerpt":"Local changes to same files To resolve merge conflicts with error. To stash entire working tree Now you will be able to merge branch…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Reverting last commit"},"id":"d229d0cd-d659-5ac2-9663-d97a2e6d9b33","slug":"git/undo-last-commit","timeToRead":1,"excerpt":"source source Delete the most recent commit, keeping the work you've done: git reset --soft HEAD~1 Delete the most recent commit, destroying…"}}]},{"edges":[{"node":{"frontmatter":{"category":"osx","description":null,"title":"Homebrew"},"id":"498e9a46-f46c-5101-9d7d-b82ff793ab75","slug":"code-notes/homebrew","timeToRead":1,"excerpt":"Helpful commands while working with brew. When trying to install using homebrew User does not have permission to write to /usr/local/Cellar…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Background Processes"},"id":"5d53babe-e0cc-5b3f-a153-98035ebb9c75","slug":"osx/background","timeToRead":1,"excerpt":"Running processes in the background When running a command add & at the end and this will cause that process to run in the background To…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Sublime Text"},"id":"6fe2e12d-478a-5f41-b5e7-6c3be8bcd03b","slug":"osx/sublime_text","timeToRead":1,"excerpt":"in .bash_profile Create symbolic link from terminal Reference: Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Terminal Setup"},"id":"70543071-9605-5a34-bc2b-9ff592aa473c","slug":"osx/terminal","timeToRead":1,"excerpt":"Setting up your Terminal with zsh and iTerm2 I'll be combining a couple different tutorials that I will like to in the footnotes. As well as…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Setting up your OSX development environment"},"id":"7b36db98-1ff2-55d5-b892-9a79322b9d6d","slug":"osx/dev-environment","timeToRead":1,"excerpt":"Back to notes landing page Overview In this document we will explore different aspects of setting up your Macbook for for development…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"GREP"},"id":"22c90c10-8352-5290-a1d3-cf8fae8112e3","slug":"osx/unix-grep","timeToRead":1,"excerpt":"Using grep to search a file (ex: * .log), and save to and new file (ex: NEW_FILE.log) The below command will remove all files in the…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Useful Commands"},"id":"35e7a295-0a78-558e-81bf-1d3386382e59","slug":"osx/useful_commands","timeToRead":1,"excerpt":"Jump to : TOC\n{:toc} Bash Profile Use source to update bash_profile without relaunching terminal Open with application Can also be used…"}}]}]}},"pageContext":{"frontmatter":{"title":"Notes","description":"A hidden page for all my development notes","keywords":"notes"},"relativePagePath":"/notes.mdx","titleType":"prepend","MdxNode":{"id":"a3b448f6-88da-59f6-aa93-3578036ead1c","children":[],"parent":"fc570aab-944c-5b36-b86d-54de34928c94","internal":{"content":"---\ntitle: Notes\ndescription: A hidden page for all my development notes\nkeywords: 'notes'\n---\n\nimport { Link, graphql } from 'gatsby';\n\n\n\nThis is my **Hidden** notes landing page.\n\n\n\n<>\n {props.data.allMdx.group.map((group) => (\n
    \n {group.edges[0].node.frontmatter.category.toUpperCase()}\n \n {group.edges.map((edge) => (\n \n ))}\n \n
    \n ))}\n\n\n## TODO\n\nNeed to create a query that accepts un-categorized notes.\n\n```js\n// old query\nexport const pageQuery = graphql`\n query {\n allFile(filter: { sourceInstanceName: { eq: \"notes\" } }) {\n edges {\n node {\n id\n childMdx {\n frontmatter {\n author\n category\n date\n description\n keywords\n title\n tags\n }\n }\n }\n }\n }\n }\n`;\n```\n\nexport const pageQuery = graphql`\n {\n allMdx {\n group(field: frontmatter___category) {\n edges {\n node {\n frontmatter {\n category\n description\n title\n }\n id\n slug\n timeToRead\n excerpt\n }\n }\n }\n }\n }\n`;\n","type":"Mdx","contentDigest":"529da977a906d797f6af5227eafe5768","owner":"gatsby-plugin-mdx","counter":156},"frontmatter":{"title":"Notes","description":"A hidden page for all my development notes","keywords":"notes"},"exports":{},"rawBody":"---\ntitle: Notes\ndescription: A hidden page for all my development notes\nkeywords: 'notes'\n---\n\nimport { Link, graphql } from 'gatsby';\n\n\n\nThis is my **Hidden** notes landing page.\n\n\n\n<>\n {props.data.allMdx.group.map((group) => (\n
    \n {group.edges[0].node.frontmatter.category.toUpperCase()}\n \n {group.edges.map((edge) => (\n \n ))}\n \n
    \n ))}\n\n\n## TODO\n\nNeed to create a query that accepts un-categorized notes.\n\n```js\n// old query\nexport const pageQuery = graphql`\n query {\n allFile(filter: { sourceInstanceName: { eq: \"notes\" } }) {\n edges {\n node {\n id\n childMdx {\n frontmatter {\n author\n category\n date\n description\n keywords\n title\n tags\n }\n }\n }\n }\n }\n }\n`;\n```\n\nexport const pageQuery = graphql`\n {\n allMdx {\n group(field: frontmatter___category) {\n edges {\n node {\n frontmatter {\n category\n description\n title\n }\n id\n slug\n timeToRead\n excerpt\n }\n }\n }\n }\n }\n`;\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/notes.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-notes-mdx","path":"/notes/","result":{"data":{"allMdx":{"group":[{"edges":[{"node":{"frontmatter":{"category":"Career","description":"A brag list of milestones in my career.","title":"Career roadmap"},"id":"fba6e617-81c6-5dd8-b189-74fc0f92b0cd","slug":"career/roadmap","timeToRead":1,"excerpt":"Back to notes landing page A place to keep track of my career milestones. 2023 2023Q3 Earned Developer Profession - Level 3 Expert…"}}]},{"edges":[{"node":{"frontmatter":{"category":"Development","description":null,"title":"Jekyll"},"id":"c260ba3a-191b-53f8-b61e-ab638fe18747","slug":"development/jekyll","timeToRead":1,"excerpt":"Back to notes landing page source Specifying a :path attribute will install the gem from that path on your local machine Alternately…"}}]},{"edges":[{"node":{"frontmatter":{"category":"android","description":null,"title":"Android"},"id":"78839c4b-685c-5c86-8be2-cb6d772f8c79","slug":"android/android","timeToRead":1,"excerpt":"Eclipse Download the ADT Plugin Start Eclipse, then select Help > Install New Software. Click Add, in the top-right corner. In the Add…"}}]},{"edges":[{"node":{"frontmatter":{"category":"git","description":null,"title":"git"},"id":"72429e07-eb32-5fef-9bff-4f513a3e6ea2","slug":"code-notes/git","timeToRead":6,"excerpt":"This page is designed to unify all the tips and tricks associated with using git. Please feel free to modify and update as needed. Commits…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Amending a Commit Message"},"id":"7178584c-e0e1-5259-9294-08b445dc7abf","slug":"git/amending_commit_message","timeToRead":1,"excerpt":"To open your editor, allowing you to change the commit message of the most recent commit. Additionally, you can set the commit message…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Branching"},"id":"27ce874d-5a73-5911-a360-68f674787adb","slug":"git/branching","timeToRead":1,"excerpt":"I follow git branching naming convention outline in this gist List all branches including remotes Resetting local branch to match remote…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Clean"},"id":"ba26fac7-7b17-532e-870f-f4986f53ccbe","slug":"git/clean","timeToRead":1,"excerpt":"Perform a “dry run” of git clean . This will show you which files are going to be removed without actually doing it. Remove untracked files…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Git Diff"},"id":"78327ff3-ddfe-51c5-9f17-f0b16edb0989","slug":"git/diff","timeToRead":1,"excerpt":"Simply use git diff and a file name to check difference between commited and non staged changes If you need to verify the difference of a…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Excluding Files"},"id":"ff928afc-db35-5ec8-bebf-ff35d84f2865","slug":"git/excluding_files","timeToRead":1,"excerpt":"Ignoring tracked files in your local repo or To undo assume unchanged If using assume-unchanged you can add the following to your…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Working with Forked Repositories"},"id":"54707999-596c-502f-addb-b440474a3350","slug":"git/forking","timeToRead":1,"excerpt":"Source When needing to work with a new branch on a forked repo you have to create a new branch in your local fork that references that…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Updating .gitignore"},"id":"77f815e8-4c9e-503d-8905-6d7bedbb782e","slug":"git/gitignore","timeToRead":1,"excerpt":"Untracking a single file To untrack a single file that has already been added/initialized to your repository, i.e., stop tracking the file…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Resolving Merge Conflicts"},"id":"f96cfd5a-033f-58c1-bacb-9fc53cfa9778","slug":"git/merge_conflicts","timeToRead":1,"excerpt":"Local changes to same files To resolve merge conflicts with error. To stash entire working tree Now you will be able to merge branch…"}},{"node":{"frontmatter":{"category":"git","description":null,"title":"Reverting last commit"},"id":"d229d0cd-d659-5ac2-9663-d97a2e6d9b33","slug":"git/undo-last-commit","timeToRead":1,"excerpt":"source source Delete the most recent commit, keeping the work you've done: git reset --soft HEAD~1 Delete the most recent commit, destroying…"}}]},{"edges":[{"node":{"frontmatter":{"category":"osx","description":null,"title":"Homebrew"},"id":"498e9a46-f46c-5101-9d7d-b82ff793ab75","slug":"code-notes/homebrew","timeToRead":1,"excerpt":"Helpful commands while working with brew. When trying to install using homebrew User does not have permission to write to /usr/local/Cellar…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Background Processes"},"id":"5d53babe-e0cc-5b3f-a153-98035ebb9c75","slug":"osx/background","timeToRead":1,"excerpt":"Running processes in the background When running a command add & at the end and this will cause that process to run in the background To…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Setting up your OSX development environment"},"id":"7b36db98-1ff2-55d5-b892-9a79322b9d6d","slug":"osx/dev-environment","timeToRead":1,"excerpt":"Back to notes landing page Overview In this document we will explore different aspects of setting up your Macbook for for development…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Sublime Text"},"id":"6fe2e12d-478a-5f41-b5e7-6c3be8bcd03b","slug":"osx/sublime_text","timeToRead":1,"excerpt":"in .bash_profile Create symbolic link from terminal Reference: Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Terminal Setup"},"id":"70543071-9605-5a34-bc2b-9ff592aa473c","slug":"osx/terminal","timeToRead":1,"excerpt":"Setting up your Terminal with zsh and iTerm2 I'll be combining a couple different tutorials that I will like to in the footnotes. As well as…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"GREP"},"id":"22c90c10-8352-5290-a1d3-cf8fae8112e3","slug":"osx/unix-grep","timeToRead":1,"excerpt":"Using grep to search a file (ex: * .log), and save to and new file (ex: NEW_FILE.log) The below command will remove all files in the…"}},{"node":{"frontmatter":{"category":"osx","description":null,"title":"Useful Commands"},"id":"35e7a295-0a78-558e-81bf-1d3386382e59","slug":"osx/useful_commands","timeToRead":1,"excerpt":"Jump to : TOC\n{:toc} Bash Profile Use source to update bash_profile without relaunching terminal Open with application Can also be used…"}}]}]}},"pageContext":{"frontmatter":{"title":"Notes","description":"A hidden page for all my development notes","keywords":"notes"},"relativePagePath":"/notes.mdx","titleType":"prepend","MdxNode":{"id":"a3b448f6-88da-59f6-aa93-3578036ead1c","children":[],"parent":"fc570aab-944c-5b36-b86d-54de34928c94","internal":{"content":"---\ntitle: Notes\ndescription: A hidden page for all my development notes\nkeywords: 'notes'\n---\n\nimport { Link, graphql } from 'gatsby';\n\n\n\nThis is my **Hidden** notes landing page.\n\n\n\n<>\n {props.data.allMdx.group.map((group) => (\n
    \n {group.edges[0].node.frontmatter.category.toUpperCase()}\n \n {group.edges.map((edge) => (\n \n ))}\n \n
    \n ))}\n\n\n## TODO\n\nNeed to create a query that accepts un-categorized notes.\n\n```js\n// old query\nexport const pageQuery = graphql`\n query {\n allFile(filter: { sourceInstanceName: { eq: \"notes\" } }) {\n edges {\n node {\n id\n childMdx {\n frontmatter {\n author\n category\n date\n description\n keywords\n title\n tags\n }\n }\n }\n }\n }\n }\n`;\n```\n\nexport const pageQuery = graphql`\n {\n allMdx {\n group(field: frontmatter___category) {\n edges {\n node {\n frontmatter {\n category\n description\n title\n }\n id\n slug\n timeToRead\n excerpt\n }\n }\n }\n }\n }\n`;\n","type":"Mdx","contentDigest":"529da977a906d797f6af5227eafe5768","owner":"gatsby-plugin-mdx","counter":156},"frontmatter":{"title":"Notes","description":"A hidden page for all my development notes","keywords":"notes"},"exports":{},"rawBody":"---\ntitle: Notes\ndescription: A hidden page for all my development notes\nkeywords: 'notes'\n---\n\nimport { Link, graphql } from 'gatsby';\n\n\n\nThis is my **Hidden** notes landing page.\n\n\n\n<>\n {props.data.allMdx.group.map((group) => (\n
    \n {group.edges[0].node.frontmatter.category.toUpperCase()}\n \n {group.edges.map((edge) => (\n \n ))}\n \n
    \n ))}\n\n\n## TODO\n\nNeed to create a query that accepts un-categorized notes.\n\n```js\n// old query\nexport const pageQuery = graphql`\n query {\n allFile(filter: { sourceInstanceName: { eq: \"notes\" } }) {\n edges {\n node {\n id\n childMdx {\n frontmatter {\n author\n category\n date\n description\n keywords\n title\n tags\n }\n }\n }\n }\n }\n }\n`;\n```\n\nexport const pageQuery = graphql`\n {\n allMdx {\n group(field: frontmatter___category) {\n edges {\n node {\n frontmatter {\n category\n description\n title\n }\n id\n slug\n timeToRead\n excerpt\n }\n }\n }\n }\n }\n`;\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/notes.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/osx/dev-environment/page-data.json b/page-data/osx/dev-environment/page-data.json index 5055cf94..b5305c5d 100644 --- a/page-data/osx/dev-environment/page-data.json +++ b/page-data/osx/dev-environment/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-osx-dev-environment-mdx","path":"/osx/dev-environment/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Setting up your OSX development environment","updatedBy":"Eric Garcia","author":"Eric Garcia","last_updated":"2016-09-14T00:00:00.000Z","category":"osx","tags":"jenv,java,osx,brew"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/dev-environment.mdx","titleType":"prepend","MdxNode":{"id":"7b36db98-1ff2-55d5-b892-9a79322b9d6d","children":[],"parent":"e13fa7bd-d069-5d43-b7e5-2a3aa8ca4bee","internal":{"content":"---\nlayout: note\ntitle: Setting up your OSX development environment\nupdatedBy: Eric Garcia\nauthor: Eric Garcia\nlast_updated: 2016-09-14\ncategory: osx\ntags: 'jenv,java,osx,brew'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n# Overview\n\nIn this document we will explore different aspects of setting up your Macbook for for development purposes. This includes but is not limited to setting up some essential software that will enable you to install some core aspects of MobileFirst.\n\n## Homebrew\n\nI like to use `sudu` as little as possible especially when installing software. To avoid this I use **Home Brew** for as much software installation as possible.\n\nSome very useful tools that can be installed with **Home Brew** `brew install COMAND`:\n\n- `bash-completion`\n- `node`\n- `nvm`\n- `rbenc`\n- `wget`\n\nFor trouble shooting brew issues see [Homebrew](./homebrew)\n\n### Updating bash and bash-completion\n\n[source][bash_completion_source]\n\nYou can update bash using homebrew. With `homebrew install bash`. It is also important to note that you will have to insure you **bash_profile** or **bash_rc** is updated to have the brew path first in your systems path. Once you have the updated bash installed you can install the latest bash-completion with `brew install bash-completion2`\n\nYou will need to update how you load the bash completion in your **[bash/bash_rc]profile** as follows.\n\n```shell\n####### Verify is bash_completon is installed #######\n\n # Add tab completion for bash completion 2\nif which brew > /dev/null && [ -f \"$(brew --prefix)/share/bash-completion/bash_completion\" ]; then\n source \"$(brew --prefix)/share/bash-completion/bash_completion\";\n export PS1='\\W$(__git_ps1) \\$ '\n\n# Fallback to bash completion\nelif [ -f /etc/bash_completion ]; then\n source /etc/bash_completion;\n export PS1='\\W$(__git_ps1) \\$ '\nfi;\n```\n\n**Note**: you can leave out the `export` of `PS1` if you choose. I just prefer a simple concise command prompt.\n\n[bash_completion_source]: https://troymccall.com/better-bash-4--completions-on-osx/\n\n## Java Version Management\n\nWhen it comes to Java management on a Mac there are several option in which you can chose. Below I will detail a few of them to chose from. First I will mention my favorite jenv\n\n### jenv\n\nThis software is available through Homebrew. It is well documented on it's github page, . Let us discus a few caveats here. First and foremost you must add any installed versions of Java installed for jenv to be able to manage it. You can see a list of install by running the command `/usr/libexec/java_home -V`.\n\n- \n jenv\n - use jenv to manage Java versions\n\n### Using .bash_profile\n\n\n See this StackOverflow post\n for simple java version management using your `.bash_profile`\n\n## Ruby Management\n\nrbenv is awesome!! `brew install rbenv`\n\nPlugins to consider\n\n- `git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems`\n- `git clone https://github.com/mislav/rbenv-user-gems.git \"$(rbenv root)/plugins/rbenv-user-gems\"`\n- `git clone https://github.com/rkh/rbenv-update.git \"$(rbenv root)/plugins/rbenv-update\"`\n- `git clone https://github.com/rkh/rbenv-whatis.git $(rbenv root)/plugins/rbenv-whatis`\n- `git clone https://github.com/rkh/rbenv-use.git $(rbenv root)/plugins/rbenv-use`\n\n## Text Editors\n\nThis is a very personal choice, and I can only detail the ones I'm familiar with.\n\n- Sublime Text 3: is a very customizable text editor with a largely supported development community.\n _For usage details see the internal [Sublime Text 3](../osx-sublime_text) notes page.\n _ Sublime Homepageopen_in_new\n\n- Atom\n\n_If you would like to share your favorite please update this page._\n\n## Other\n\n\n Using rbenv to Manage Rubies and Gems\n\n","type":"Mdx","contentDigest":"c36301637efd6d5ba936bdb3c6ccf3ef","owner":"gatsby-plugin-mdx","counter":222},"frontmatter":{"layout":"note","title":"Setting up your OSX development environment","updatedBy":"Eric Garcia","author":"Eric Garcia","last_updated":"2016-09-14T00:00:00.000Z","category":"osx","tags":"jenv,java,osx,brew"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Setting up your OSX development environment\nupdatedBy: Eric Garcia\nauthor: Eric Garcia\nlast_updated: 2016-09-14\ncategory: osx\ntags: 'jenv,java,osx,brew'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n# Overview\n\nIn this document we will explore different aspects of setting up your Macbook for for development purposes. This includes but is not limited to setting up some essential software that will enable you to install some core aspects of MobileFirst.\n\n## Homebrew\n\nI like to use `sudu` as little as possible especially when installing software. To avoid this I use **Home Brew** for as much software installation as possible.\n\nSome very useful tools that can be installed with **Home Brew** `brew install COMAND`:\n\n- `bash-completion`\n- `node`\n- `nvm`\n- `rbenc`\n- `wget`\n\nFor trouble shooting brew issues see [Homebrew](./homebrew)\n\n### Updating bash and bash-completion\n\n[source][bash_completion_source]\n\nYou can update bash using homebrew. With `homebrew install bash`. It is also important to note that you will have to insure you **bash_profile** or **bash_rc** is updated to have the brew path first in your systems path. Once you have the updated bash installed you can install the latest bash-completion with `brew install bash-completion2`\n\nYou will need to update how you load the bash completion in your **[bash/bash_rc]profile** as follows.\n\n```shell\n####### Verify is bash_completon is installed #######\n\n # Add tab completion for bash completion 2\nif which brew > /dev/null && [ -f \"$(brew --prefix)/share/bash-completion/bash_completion\" ]; then\n source \"$(brew --prefix)/share/bash-completion/bash_completion\";\n export PS1='\\W$(__git_ps1) \\$ '\n\n# Fallback to bash completion\nelif [ -f /etc/bash_completion ]; then\n source /etc/bash_completion;\n export PS1='\\W$(__git_ps1) \\$ '\nfi;\n```\n\n**Note**: you can leave out the `export` of `PS1` if you choose. I just prefer a simple concise command prompt.\n\n[bash_completion_source]: https://troymccall.com/better-bash-4--completions-on-osx/\n\n## Java Version Management\n\nWhen it comes to Java management on a Mac there are several option in which you can chose. Below I will detail a few of them to chose from. First I will mention my favorite jenv\n\n### jenv\n\nThis software is available through Homebrew. It is well documented on it's github page, . Let us discus a few caveats here. First and foremost you must add any installed versions of Java installed for jenv to be able to manage it. You can see a list of install by running the command `/usr/libexec/java_home -V`.\n\n- \n jenv\n - use jenv to manage Java versions\n\n### Using .bash_profile\n\n\n See this StackOverflow post\n for simple java version management using your `.bash_profile`\n\n## Ruby Management\n\nrbenv is awesome!! `brew install rbenv`\n\nPlugins to consider\n\n- `git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems`\n- `git clone https://github.com/mislav/rbenv-user-gems.git \"$(rbenv root)/plugins/rbenv-user-gems\"`\n- `git clone https://github.com/rkh/rbenv-update.git \"$(rbenv root)/plugins/rbenv-update\"`\n- `git clone https://github.com/rkh/rbenv-whatis.git $(rbenv root)/plugins/rbenv-whatis`\n- `git clone https://github.com/rkh/rbenv-use.git $(rbenv root)/plugins/rbenv-use`\n\n## Text Editors\n\nThis is a very personal choice, and I can only detail the ones I'm familiar with.\n\n- Sublime Text 3: is a very customizable text editor with a largely supported development community.\n _For usage details see the internal [Sublime Text 3](../osx-sublime_text) notes page.\n _ Sublime Homepageopen_in_new\n\n- Atom\n\n_If you would like to share your favorite please update this page._\n\n## Other\n\n\n Using rbenv to Manage Rubies and Gems\n\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/dev-environment.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-osx-dev-environment-mdx","path":"/osx/dev-environment/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Setting up your OSX development environment","updatedBy":"Eric Garcia","author":"Eric Garcia","last_updated":"2016-09-14T00:00:00.000Z","category":"osx","tags":"jenv,java,osx,brew"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/dev-environment.mdx","titleType":"prepend","MdxNode":{"id":"7b36db98-1ff2-55d5-b892-9a79322b9d6d","children":[],"parent":"e13fa7bd-d069-5d43-b7e5-2a3aa8ca4bee","internal":{"content":"---\nlayout: note\ntitle: Setting up your OSX development environment\nupdatedBy: Eric Garcia\nauthor: Eric Garcia\nlast_updated: 2016-09-14\ncategory: osx\ntags: 'jenv,java,osx,brew'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n# Overview\n\nIn this document we will explore different aspects of setting up your Macbook for for development purposes. This includes but is not limited to setting up some essential software that will enable you to install some core aspects of MobileFirst.\n\n## Homebrew\n\nI like to use `sudu` as little as possible especially when installing software. To avoid this I use **Home Brew** for as much software installation as possible.\n\nSome very useful tools that can be installed with **Home Brew** `brew install COMAND`:\n\n- `bash-completion`\n- `node`\n- `nvm`\n- `rbenc`\n- `wget`\n\nFor trouble shooting brew issues see [Homebrew](./homebrew)\n\n### Updating bash and bash-completion\n\n[source][bash_completion_source]\n\nYou can update bash using homebrew. With `homebrew install bash`. It is also important to note that you will have to insure you **bash_profile** or **bash_rc** is updated to have the brew path first in your systems path. Once you have the updated bash installed you can install the latest bash-completion with `brew install bash-completion2`\n\nYou will need to update how you load the bash completion in your **[bash/bash_rc]profile** as follows.\n\n```shell\n####### Verify is bash_completon is installed #######\n\n # Add tab completion for bash completion 2\nif which brew > /dev/null && [ -f \"$(brew --prefix)/share/bash-completion/bash_completion\" ]; then\n source \"$(brew --prefix)/share/bash-completion/bash_completion\";\n export PS1='\\W$(__git_ps1) \\$ '\n\n# Fallback to bash completion\nelif [ -f /etc/bash_completion ]; then\n source /etc/bash_completion;\n export PS1='\\W$(__git_ps1) \\$ '\nfi;\n```\n\n**Note**: you can leave out the `export` of `PS1` if you choose. I just prefer a simple concise command prompt.\n\n[bash_completion_source]: https://troymccall.com/better-bash-4--completions-on-osx/\n\n## Java Version Management\n\nWhen it comes to Java management on a Mac there are several option in which you can chose. Below I will detail a few of them to chose from. First I will mention my favorite jenv\n\n### jenv\n\nThis software is available through Homebrew. It is well documented on it's github page, . Let us discus a few caveats here. First and foremost you must add any installed versions of Java installed for jenv to be able to manage it. You can see a list of install by running the command `/usr/libexec/java_home -V`.\n\n- \n jenv\n - use jenv to manage Java versions\n\n### Using .bash_profile\n\n\n See this StackOverflow post\n for simple java version management using your `.bash_profile`\n\n## Ruby Management\n\nrbenv is awesome!! `brew install rbenv`\n\nPlugins to consider\n\n- `git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems`\n- `git clone https://github.com/mislav/rbenv-user-gems.git \"$(rbenv root)/plugins/rbenv-user-gems\"`\n- `git clone https://github.com/rkh/rbenv-update.git \"$(rbenv root)/plugins/rbenv-update\"`\n- `git clone https://github.com/rkh/rbenv-whatis.git $(rbenv root)/plugins/rbenv-whatis`\n- `git clone https://github.com/rkh/rbenv-use.git $(rbenv root)/plugins/rbenv-use`\n\n## Text Editors\n\nThis is a very personal choice, and I can only detail the ones I'm familiar with.\n\n- Sublime Text 3: is a very customizable text editor with a largely supported development community.\n _For usage details see the internal [Sublime Text 3](../osx-sublime_text) notes page.\n _ Sublime Homepageopen_in_new\n\n- Atom\n\n_If you would like to share your favorite please update this page._\n\n## Other\n\n\n Using rbenv to Manage Rubies and Gems\n\n","type":"Mdx","contentDigest":"c36301637efd6d5ba936bdb3c6ccf3ef","owner":"gatsby-plugin-mdx","counter":220},"frontmatter":{"layout":"note","title":"Setting up your OSX development environment","updatedBy":"Eric Garcia","author":"Eric Garcia","last_updated":"2016-09-14T00:00:00.000Z","category":"osx","tags":"jenv,java,osx,brew"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Setting up your OSX development environment\nupdatedBy: Eric Garcia\nauthor: Eric Garcia\nlast_updated: 2016-09-14\ncategory: osx\ntags: 'jenv,java,osx,brew'\n---\n\nimport { Link } from 'gatsby';\n\nBack to notes landing page\n\n# Overview\n\nIn this document we will explore different aspects of setting up your Macbook for for development purposes. This includes but is not limited to setting up some essential software that will enable you to install some core aspects of MobileFirst.\n\n## Homebrew\n\nI like to use `sudu` as little as possible especially when installing software. To avoid this I use **Home Brew** for as much software installation as possible.\n\nSome very useful tools that can be installed with **Home Brew** `brew install COMAND`:\n\n- `bash-completion`\n- `node`\n- `nvm`\n- `rbenc`\n- `wget`\n\nFor trouble shooting brew issues see [Homebrew](./homebrew)\n\n### Updating bash and bash-completion\n\n[source][bash_completion_source]\n\nYou can update bash using homebrew. With `homebrew install bash`. It is also important to note that you will have to insure you **bash_profile** or **bash_rc** is updated to have the brew path first in your systems path. Once you have the updated bash installed you can install the latest bash-completion with `brew install bash-completion2`\n\nYou will need to update how you load the bash completion in your **[bash/bash_rc]profile** as follows.\n\n```shell\n####### Verify is bash_completon is installed #######\n\n # Add tab completion for bash completion 2\nif which brew > /dev/null && [ -f \"$(brew --prefix)/share/bash-completion/bash_completion\" ]; then\n source \"$(brew --prefix)/share/bash-completion/bash_completion\";\n export PS1='\\W$(__git_ps1) \\$ '\n\n# Fallback to bash completion\nelif [ -f /etc/bash_completion ]; then\n source /etc/bash_completion;\n export PS1='\\W$(__git_ps1) \\$ '\nfi;\n```\n\n**Note**: you can leave out the `export` of `PS1` if you choose. I just prefer a simple concise command prompt.\n\n[bash_completion_source]: https://troymccall.com/better-bash-4--completions-on-osx/\n\n## Java Version Management\n\nWhen it comes to Java management on a Mac there are several option in which you can chose. Below I will detail a few of them to chose from. First I will mention my favorite jenv\n\n### jenv\n\nThis software is available through Homebrew. It is well documented on it's github page, . Let us discus a few caveats here. First and foremost you must add any installed versions of Java installed for jenv to be able to manage it. You can see a list of install by running the command `/usr/libexec/java_home -V`.\n\n- \n jenv\n - use jenv to manage Java versions\n\n### Using .bash_profile\n\n\n See this StackOverflow post\n for simple java version management using your `.bash_profile`\n\n## Ruby Management\n\nrbenv is awesome!! `brew install rbenv`\n\nPlugins to consider\n\n- `git clone https://github.com/rbenv/rbenv-default-gems.git $(rbenv root)/plugins/rbenv-default-gems`\n- `git clone https://github.com/mislav/rbenv-user-gems.git \"$(rbenv root)/plugins/rbenv-user-gems\"`\n- `git clone https://github.com/rkh/rbenv-update.git \"$(rbenv root)/plugins/rbenv-update\"`\n- `git clone https://github.com/rkh/rbenv-whatis.git $(rbenv root)/plugins/rbenv-whatis`\n- `git clone https://github.com/rkh/rbenv-use.git $(rbenv root)/plugins/rbenv-use`\n\n## Text Editors\n\nThis is a very personal choice, and I can only detail the ones I'm familiar with.\n\n- Sublime Text 3: is a very customizable text editor with a largely supported development community.\n _For usage details see the internal [Sublime Text 3](../osx-sublime_text) notes page.\n _ Sublime Homepageopen_in_new\n\n- Atom\n\n_If you would like to share your favorite please update this page._\n\n## Other\n\n\n Using rbenv to Manage Rubies and Gems\n\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/dev-environment.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/osx/sublime_text/page-data.json b/page-data/osx/sublime_text/page-data.json index f10d683e..0a42e824 100644 --- a/page-data/osx/sublime_text/page-data.json +++ b/page-data/osx/sublime_text/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-osx-sublime-text-md","path":"/osx/sublime_text/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Sublime Text","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"osx"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/sublime_text.md","titleType":"prepend","MdxNode":{"id":"6fe2e12d-478a-5f41-b5e7-6c3be8bcd03b","children":[],"parent":"64adcd3e-2a7c-5866-8164-ba7775c4c00d","internal":{"content":"---\nlayout: note\ntitle: Sublime Text\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: osx\n---\n\nin `.bash_profile`\n\n```bash\nexport PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH\nexport EDITOR='subl -w'\n```\n\nCreate symbolic link from terminal\n\n```bash\nln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n```\n\n**Reference:** [Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?](http://stackoverflow.com/questions/16199581/opening-sublime-text-on-command-line-as-subl-on-mac-os)\n","type":"Mdx","contentDigest":"b3337a114b4a5cda7f1f7e75e964d6a0","owner":"gatsby-plugin-mdx","counter":220},"frontmatter":{"layout":"note","title":"Sublime Text","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"osx"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Sublime Text\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: osx\n---\n\nin `.bash_profile`\n\n```bash\nexport PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH\nexport EDITOR='subl -w'\n```\n\nCreate symbolic link from terminal\n\n```bash\nln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n```\n\n**Reference:** [Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?](http://stackoverflow.com/questions/16199581/opening-sublime-text-on-command-line-as-subl-on-mac-os)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/sublime_text.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-osx-sublime-text-md","path":"/osx/sublime_text/","result":{"pageContext":{"frontmatter":{"layout":"note","title":"Sublime Text","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"osx"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/sublime_text.md","titleType":"prepend","MdxNode":{"id":"6fe2e12d-478a-5f41-b5e7-6c3be8bcd03b","children":[],"parent":"64adcd3e-2a7c-5866-8164-ba7775c4c00d","internal":{"content":"---\nlayout: note\ntitle: Sublime Text\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: osx\n---\n\nin `.bash_profile`\n\n```bash\nexport PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH\nexport EDITOR='subl -w'\n```\n\nCreate symbolic link from terminal\n\n```bash\nln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n```\n\n**Reference:** [Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?](http://stackoverflow.com/questions/16199581/opening-sublime-text-on-command-line-as-subl-on-mac-os)\n","type":"Mdx","contentDigest":"b3337a114b4a5cda7f1f7e75e964d6a0","owner":"gatsby-plugin-mdx","counter":221},"frontmatter":{"layout":"note","title":"Sublime Text","author":"Eric Garcia","last_updated":"2016-07-14T00:00:00.000Z","category":"osx"},"exports":{},"rawBody":"---\nlayout: note\ntitle: Sublime Text\nauthor: \"Eric Garcia\"\nlast_updated: 2016-07-14\ncategory: osx\n---\n\nin `.bash_profile`\n\n```bash\nexport PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH\nexport EDITOR='subl -w'\n```\n\nCreate symbolic link from terminal\n\n```bash\nln -s /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl\n```\n\n**Reference:** [Stack Overflow: Opening Sublime Text on command line as subl on Mac OS?](http://stackoverflow.com/questions/16199581/opening-sublime-text-on-command-line-as-subl-on-mac-os)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/sublime_text.md"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/osx/terminal/page-data.json b/page-data/osx/terminal/page-data.json index 1c1f3355..ea1db41f 100644 --- a/page-data/osx/terminal/page-data.json +++ b/page-data/osx/terminal/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---content-notes-osx-terminal-mdx","path":"/osx/terminal/","result":{"pageContext":{"frontmatter":{"title":"Terminal Setup","author":"Eric Garcia","category":"osx"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/terminal.mdx","titleType":"prepend","MdxNode":{"id":"70543071-9605-5a34-bc2b-9ff592aa473c","children":[],"parent":"c7fc8a36-3dad-5a99-95e5-ee1cf1249bd6","internal":{"content":"---\ntitle: Terminal Setup\nauthor: 'Eric Garcia'\ncategory: osx\n---\n\n# Setting up your Terminal with zsh and iTerm2\n\nI'll be combining a couple different tutorials that I will like to in the footnotes. As well as some minor differences that I have updated for my personal use.\n\n## Installing Xcode\n\nEnsure Xcode developer tools are installed with:\n\n```zsh\nxcode-select —-install\n```\n\n## Install Homebrew\n\nIf homebrew is not installed do so now with:\n\n```zsh\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n\n[source](https://brew.sh)\n\n## Install iTerm2 via Homebrew\n\n```zsh\nbrew cask install iterm2\n```\n\n## Install zsh\n\nMake sure you have the latest zsh installed\n\n```zsh\nbrew install zsh\n```\n\n## Install Oh My Zsh\n\n```zsh\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\nOnce installed install your various plugins, by adding them to the plugins array in your `~/.zshrc`.\n\nHere are the [list of plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) or check out the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins)\n\nKeep you upgrade oh my zsh with:\n\n```zsh\nupgrade_oh_my_zsh\n```\n\n## Powerlevel9k\n\nInstall [Powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions#option-2-install-for-oh-my-zsh) theme. Since we are using Oh My Zsh, we can install it in the **~/.oh-my-zsh/custom/themes/** directory with the following.\n\n```zsh\ngit clone https://github.com/bhilburn/powerlevel9k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k\n```\n\nthen simply add the theme to you **~/.zsh** file.\n\n```zsh\nZSH_THEME=\"powerlevel9k/powerlevel9k\"\n```\n\nTo include syntax highlighting of your shell install the [zsh-syntax-highlighting plugins](https://github.com/zsh-users/zsh-syntax-highlighting) with the following:\n\n```zsh\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n```\n\n## Install fonts with gliphs\n\nI like to use [IBM Plex](https://github.com/IBM/plex), which is patch with powerline gliphs from [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts).\n\nSee [this list](https://github.com/ryanoasis/nerd-fonts#patched-fonts) of patched fonts to find the one you want\n\n```zsh\n# Clone repo\ngit clone https://github.com/ryanoasis/nerd-fonts.git\n\ncd nerd-fonts\n\n# Install all fonts\n./install.sh\n\n# or\n\n# Install a single font\n./install.sh \n\n# In my case I used\n./install.sh IBMPlexMono # which installs IBM Plex Mono\n```\n\n## Other plugins and custimizations\n\nInstall [colorls](https://github.com/athityakumar/colorls#installation)\n\n```zsh\ngem install colorls\n```\n\n## Add Aliases\n\n---\n\n## Links\n\n- [How to Configure your macOs Terminal with Zsh like a Pro](https://www.freecodecamp.org/news/how-to-configure-your-macos-terminal-with-zsh-like-a-pro-c0ab3f3c1156/)\n- [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)\n","type":"Mdx","contentDigest":"b103e42e177a49915626fe7e540a6597","owner":"gatsby-plugin-mdx","counter":221},"frontmatter":{"title":"Terminal Setup","author":"Eric Garcia","category":"osx"},"exports":{},"rawBody":"---\ntitle: Terminal Setup\nauthor: 'Eric Garcia'\ncategory: osx\n---\n\n# Setting up your Terminal with zsh and iTerm2\n\nI'll be combining a couple different tutorials that I will like to in the footnotes. As well as some minor differences that I have updated for my personal use.\n\n## Installing Xcode\n\nEnsure Xcode developer tools are installed with:\n\n```zsh\nxcode-select —-install\n```\n\n## Install Homebrew\n\nIf homebrew is not installed do so now with:\n\n```zsh\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n\n[source](https://brew.sh)\n\n## Install iTerm2 via Homebrew\n\n```zsh\nbrew cask install iterm2\n```\n\n## Install zsh\n\nMake sure you have the latest zsh installed\n\n```zsh\nbrew install zsh\n```\n\n## Install Oh My Zsh\n\n```zsh\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\nOnce installed install your various plugins, by adding them to the plugins array in your `~/.zshrc`.\n\nHere are the [list of plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) or check out the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins)\n\nKeep you upgrade oh my zsh with:\n\n```zsh\nupgrade_oh_my_zsh\n```\n\n## Powerlevel9k\n\nInstall [Powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions#option-2-install-for-oh-my-zsh) theme. Since we are using Oh My Zsh, we can install it in the **~/.oh-my-zsh/custom/themes/** directory with the following.\n\n```zsh\ngit clone https://github.com/bhilburn/powerlevel9k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k\n```\n\nthen simply add the theme to you **~/.zsh** file.\n\n```zsh\nZSH_THEME=\"powerlevel9k/powerlevel9k\"\n```\n\nTo include syntax highlighting of your shell install the [zsh-syntax-highlighting plugins](https://github.com/zsh-users/zsh-syntax-highlighting) with the following:\n\n```zsh\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n```\n\n## Install fonts with gliphs\n\nI like to use [IBM Plex](https://github.com/IBM/plex), which is patch with powerline gliphs from [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts).\n\nSee [this list](https://github.com/ryanoasis/nerd-fonts#patched-fonts) of patched fonts to find the one you want\n\n```zsh\n# Clone repo\ngit clone https://github.com/ryanoasis/nerd-fonts.git\n\ncd nerd-fonts\n\n# Install all fonts\n./install.sh\n\n# or\n\n# Install a single font\n./install.sh \n\n# In my case I used\n./install.sh IBMPlexMono # which installs IBM Plex Mono\n```\n\n## Other plugins and custimizations\n\nInstall [colorls](https://github.com/athityakumar/colorls#installation)\n\n```zsh\ngem install colorls\n```\n\n## Add Aliases\n\n---\n\n## Links\n\n- [How to Configure your macOs Terminal with Zsh like a Pro](https://www.freecodecamp.org/news/how-to-configure-your-macos-terminal-with-zsh-like-a-pro-c0ab3f3c1156/)\n- [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/terminal.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---content-notes-osx-terminal-mdx","path":"/osx/terminal/","result":{"pageContext":{"frontmatter":{"title":"Terminal Setup","author":"Eric Garcia","category":"osx"},"relativePagePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/terminal.mdx","titleType":"prepend","MdxNode":{"id":"70543071-9605-5a34-bc2b-9ff592aa473c","children":[],"parent":"c7fc8a36-3dad-5a99-95e5-ee1cf1249bd6","internal":{"content":"---\ntitle: Terminal Setup\nauthor: 'Eric Garcia'\ncategory: osx\n---\n\n# Setting up your Terminal with zsh and iTerm2\n\nI'll be combining a couple different tutorials that I will like to in the footnotes. As well as some minor differences that I have updated for my personal use.\n\n## Installing Xcode\n\nEnsure Xcode developer tools are installed with:\n\n```zsh\nxcode-select —-install\n```\n\n## Install Homebrew\n\nIf homebrew is not installed do so now with:\n\n```zsh\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n\n[source](https://brew.sh)\n\n## Install iTerm2 via Homebrew\n\n```zsh\nbrew cask install iterm2\n```\n\n## Install zsh\n\nMake sure you have the latest zsh installed\n\n```zsh\nbrew install zsh\n```\n\n## Install Oh My Zsh\n\n```zsh\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\nOnce installed install your various plugins, by adding them to the plugins array in your `~/.zshrc`.\n\nHere are the [list of plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) or check out the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins)\n\nKeep you upgrade oh my zsh with:\n\n```zsh\nupgrade_oh_my_zsh\n```\n\n## Powerlevel9k\n\nInstall [Powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions#option-2-install-for-oh-my-zsh) theme. Since we are using Oh My Zsh, we can install it in the **~/.oh-my-zsh/custom/themes/** directory with the following.\n\n```zsh\ngit clone https://github.com/bhilburn/powerlevel9k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k\n```\n\nthen simply add the theme to you **~/.zsh** file.\n\n```zsh\nZSH_THEME=\"powerlevel9k/powerlevel9k\"\n```\n\nTo include syntax highlighting of your shell install the [zsh-syntax-highlighting plugins](https://github.com/zsh-users/zsh-syntax-highlighting) with the following:\n\n```zsh\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n```\n\n## Install fonts with gliphs\n\nI like to use [IBM Plex](https://github.com/IBM/plex), which is patch with powerline gliphs from [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts).\n\nSee [this list](https://github.com/ryanoasis/nerd-fonts#patched-fonts) of patched fonts to find the one you want\n\n```zsh\n# Clone repo\ngit clone https://github.com/ryanoasis/nerd-fonts.git\n\ncd nerd-fonts\n\n# Install all fonts\n./install.sh\n\n# or\n\n# Install a single font\n./install.sh \n\n# In my case I used\n./install.sh IBMPlexMono # which installs IBM Plex Mono\n```\n\n## Other plugins and custimizations\n\nInstall [colorls](https://github.com/athityakumar/colorls#installation)\n\n```zsh\ngem install colorls\n```\n\n## Add Aliases\n\n---\n\n## Links\n\n- [How to Configure your macOs Terminal with Zsh like a Pro](https://www.freecodecamp.org/news/how-to-configure-your-macos-terminal-with-zsh-like-a-pro-c0ab3f3c1156/)\n- [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)\n","type":"Mdx","contentDigest":"b103e42e177a49915626fe7e540a6597","owner":"gatsby-plugin-mdx","counter":222},"frontmatter":{"title":"Terminal Setup","author":"Eric Garcia","category":"osx"},"exports":{},"rawBody":"---\ntitle: Terminal Setup\nauthor: 'Eric Garcia'\ncategory: osx\n---\n\n# Setting up your Terminal with zsh and iTerm2\n\nI'll be combining a couple different tutorials that I will like to in the footnotes. As well as some minor differences that I have updated for my personal use.\n\n## Installing Xcode\n\nEnsure Xcode developer tools are installed with:\n\n```zsh\nxcode-select —-install\n```\n\n## Install Homebrew\n\nIf homebrew is not installed do so now with:\n\n```zsh\n/usr/bin/ruby -e \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"\n```\n\n[source](https://brew.sh)\n\n## Install iTerm2 via Homebrew\n\n```zsh\nbrew cask install iterm2\n```\n\n## Install zsh\n\nMake sure you have the latest zsh installed\n\n```zsh\nbrew install zsh\n```\n\n## Install Oh My Zsh\n\n```zsh\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)\"\n```\n\nOnce installed install your various plugins, by adding them to the plugins array in your `~/.zshrc`.\n\nHere are the [list of plugins](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins) or check out the [wiki](https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins)\n\nKeep you upgrade oh my zsh with:\n\n```zsh\nupgrade_oh_my_zsh\n```\n\n## Powerlevel9k\n\nInstall [Powerlevel9k](https://github.com/Powerlevel9k/powerlevel9k/wiki/Install-Instructions#option-2-install-for-oh-my-zsh) theme. Since we are using Oh My Zsh, we can install it in the **~/.oh-my-zsh/custom/themes/** directory with the following.\n\n```zsh\ngit clone https://github.com/bhilburn/powerlevel9k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel9k\n```\n\nthen simply add the theme to you **~/.zsh** file.\n\n```zsh\nZSH_THEME=\"powerlevel9k/powerlevel9k\"\n```\n\nTo include syntax highlighting of your shell install the [zsh-syntax-highlighting plugins](https://github.com/zsh-users/zsh-syntax-highlighting) with the following:\n\n```zsh\ngit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n```\n\n## Install fonts with gliphs\n\nI like to use [IBM Plex](https://github.com/IBM/plex), which is patch with powerline gliphs from [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts).\n\nSee [this list](https://github.com/ryanoasis/nerd-fonts#patched-fonts) of patched fonts to find the one you want\n\n```zsh\n# Clone repo\ngit clone https://github.com/ryanoasis/nerd-fonts.git\n\ncd nerd-fonts\n\n# Install all fonts\n./install.sh\n\n# or\n\n# Install a single font\n./install.sh \n\n# In my case I used\n./install.sh IBMPlexMono # which installs IBM Plex Mono\n```\n\n## Other plugins and custimizations\n\nInstall [colorls](https://github.com/athityakumar/colorls#installation)\n\n```zsh\ngem install colorls\n```\n\n## Add Aliases\n\n---\n\n## Links\n\n- [How to Configure your macOs Terminal with Zsh like a Pro](https://www.freecodecamp.org/news/how-to-configure-your-macos-terminal-with-zsh-like-a-pro-c0ab3f3c1156/)\n- [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh)\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/content/notes/osx/terminal.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/privacy_and_terms/page-data.json b/page-data/privacy_and_terms/page-data.json index 4dabb2e4..71fa40e6 100644 --- a/page-data/privacy_and_terms/page-data.json +++ b/page-data/privacy_and_terms/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-pages-privacy-and-terms-mdx","path":"/privacy_and_terms/","result":{"pageContext":{"frontmatter":{"title":"Privacy","slug":"privacy"},"relativePagePath":"/privacy_and_terms.mdx","titleType":"prepend","MdxNode":{"id":"3a4c18a1-0804-534d-ae5b-acd1bbf39c31","children":[],"parent":"35b5e8b8-24dd-537e-8914-4bf509990397","internal":{"content":"---\ntitle: 'Privacy'\nslug: 'privacy'\n---\n\n## Privacy & Terms\n","type":"Mdx","contentDigest":"bd3edd98bcac80f7ce193e967475948e","owner":"gatsby-plugin-mdx","counter":158},"frontmatter":{"title":"Privacy","slug":"privacy"},"exports":{},"rawBody":"---\ntitle: 'Privacy'\nslug: 'privacy'\n---\n\n## Privacy & Terms\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/privacy_and_terms.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file +{"componentChunkName":"component---src-pages-privacy-and-terms-mdx","path":"/privacy_and_terms/","result":{"pageContext":{"frontmatter":{"title":"Privacy","slug":"privacy"},"relativePagePath":"/privacy_and_terms.mdx","titleType":"prepend","MdxNode":{"id":"3a4c18a1-0804-534d-ae5b-acd1bbf39c31","children":[],"parent":"35b5e8b8-24dd-537e-8914-4bf509990397","internal":{"content":"---\ntitle: 'Privacy'\nslug: 'privacy'\n---\n\n## Privacy & Terms\n","type":"Mdx","contentDigest":"bd3edd98bcac80f7ce193e967475948e","owner":"gatsby-plugin-mdx","counter":157},"frontmatter":{"title":"Privacy","slug":"privacy"},"exports":{},"rawBody":"---\ntitle: 'Privacy'\nslug: 'privacy'\n---\n\n## Privacy & Terms\n","fileAbsolutePath":"/home/runner/work/eng618.github.io/eng618.github.io/src/pages/privacy_and_terms.mdx"}}},"staticQueryHashes":["1364590287","137577622","2102389209","2456312558","2746626797","3018647132","3037994772","768070550"]} \ No newline at end of file diff --git a/page-data/sq/d/3018647132.json b/page-data/sq/d/3018647132.json index 5497cbc2..734e29c5 100644 --- a/page-data/sq/d/3018647132.json +++ b/page-data/sq/d/3018647132.json @@ -1 +1 @@ -{"data":{"site":{"buildTime":"06 October 2023"}}} \ No newline at end of file +{"data":{"site":{"buildTime":"19 October 2023"}}} \ No newline at end of file diff --git a/portfolio/index.html b/portfolio/index.html index 5d9e48c7..5e8f6624 100644 --- a/portfolio/index.html +++ b/portfolio/index.html @@ -14,4 +14,4 @@ })
    Skip to main contentEric N. Garcia

    Portfolio

    This page is under construction

    under construction
    <h4>Published Applications</h4>
    <div class="mdl-grid">
    <!-- Add liquid to add card for each item in directory -->
    -
    <!-- Add this block per item in portfolio -->
    <div
    class="
    mdl-cell mdl-cell--3-col mdl-cell--4-col-tablet mdl-cell--4-col-phone
    \ No newline at end of file +
    <!-- Add this block per item in portfolio -->
    <div
    class="
    mdl-cell mdl-cell--3-col mdl-cell--4-col-tablet mdl-cell--4-col-phone
    \ No newline at end of file diff --git a/privacy_and_terms/index.html b/privacy_and_terms/index.html index 3672df49..4684922d 100644 --- a/privacy_and_terms/index.html +++ b/privacy_and_terms/index.html @@ -12,4 +12,4 @@ } } }) -
    Skip to main contentEric N. Garcia

    Privacy

    \ No newline at end of file +
    Skip to main contentEric N. Garcia

    Privacy

    \ No newline at end of file diff --git a/sitemap-pages.xml b/sitemap-pages.xml index 30cf549a..a0264ab4 100644 --- a/sitemap-pages.xml +++ b/sitemap-pages.xml @@ -1 +1 @@ -https://garciaericn.com/android/android2023-10-06T18:00:47.570Zhttps://garciaericn.com/career/roadmap2023-10-06T18:00:47.571Zhttps://garciaericn.com/development/jekyll2023-10-06T18:00:47.571Zhttps://garciaericn.com/git/amending_commit_message2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/branching2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/clean2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/diff2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/excluding_files2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/forking2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/gitignore2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/merge_conflicts2023-10-06T18:00:47.572Zhttps://garciaericn.com/git/undo-last-commit2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/background2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/dev-environment2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/sublime_text2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/terminal2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/unix-grep2023-10-06T18:00:47.572Zhttps://garciaericn.com/osx/useful_commands2023-10-06T18:00:47.572Zhttps://garciaericn.com/contact2023-10-06T18:00:47.572Zhttps://garciaericn.com/contributions2023-10-06T18:00:47.572Zhttps://garciaericn.com/2023-10-06T18:00:47.573Zhttps://garciaericn.com/notes2023-10-06T18:00:47.573Zhttps://garciaericn.com/privacy_and_terms2023-10-06T18:00:47.573Zhttps://garciaericn.com/help2023-10-06T18:00:47.573Zhttps://garciaericn.com/about2023-10-06T18:00:47.573Zhttps://garciaericn.com/about/test2023-10-06T18:00:47.573Zhttps://garciaericn.com/apps2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/bash2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/git2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/go2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/homebrew2023-10-06T18:00:47.573Zhttps://garciaericn.com/go-projects2023-10-06T18:00:47.573Zhttps://garciaericn.com/portfolio2023-10-06T18:00:47.573Zhttps://garciaericn.com/test/spacing-audit2023-10-06T18:00:47.573Zhttps://garciaericn.com/apps/fun-facts2023-10-06T18:00:47.573Zhttps://garciaericn.com/apps/fun-facts/privacy2023-10-06T18:00:47.573Zhttps://garciaericn.com/apps/memory-vault2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/bash2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/elasticsearch2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/grep2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/kubernetes2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/markdown2023-10-06T18:00:47.573Zhttps://garciaericn.com/code-notes/cheat-sheets/vi2023-10-06T18:00:47.573Z \ No newline at end of file +https://garciaericn.com/android/android2023-10-19T14:02:58.508Zhttps://garciaericn.com/career/roadmap2023-10-19T14:02:58.509Zhttps://garciaericn.com/development/jekyll2023-10-19T14:02:58.509Zhttps://garciaericn.com/git/amending_commit_message2023-10-19T14:02:58.509Zhttps://garciaericn.com/git/branching2023-10-19T14:02:58.509Zhttps://garciaericn.com/git/clean2023-10-19T14:02:58.509Zhttps://garciaericn.com/git/diff2023-10-19T14:02:58.509Zhttps://garciaericn.com/git/excluding_files2023-10-19T14:02:58.510Zhttps://garciaericn.com/git/forking2023-10-19T14:02:58.510Zhttps://garciaericn.com/git/gitignore2023-10-19T14:02:58.510Zhttps://garciaericn.com/git/merge_conflicts2023-10-19T14:02:58.510Zhttps://garciaericn.com/git/undo-last-commit2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/background2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/dev-environment2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/sublime_text2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/terminal2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/unix-grep2023-10-19T14:02:58.510Zhttps://garciaericn.com/osx/useful_commands2023-10-19T14:02:58.510Zhttps://garciaericn.com/contact2023-10-19T14:02:58.510Zhttps://garciaericn.com/contributions2023-10-19T14:02:58.510Zhttps://garciaericn.com/help2023-10-19T14:02:58.510Zhttps://garciaericn.com/2023-10-19T14:02:58.510Zhttps://garciaericn.com/notes2023-10-19T14:02:58.510Zhttps://garciaericn.com/privacy_and_terms2023-10-19T14:02:58.510Zhttps://garciaericn.com/about2023-10-19T14:02:58.510Zhttps://garciaericn.com/about/test2023-10-19T14:02:58.510Zhttps://garciaericn.com/apps2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/bash2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/git2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/go2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/homebrew2023-10-19T14:02:58.510Zhttps://garciaericn.com/go-projects2023-10-19T14:02:58.510Zhttps://garciaericn.com/portfolio2023-10-19T14:02:58.510Zhttps://garciaericn.com/test/spacing-audit2023-10-19T14:02:58.510Zhttps://garciaericn.com/apps/fun-facts2023-10-19T14:02:58.510Zhttps://garciaericn.com/apps/fun-facts/privacy2023-10-19T14:02:58.510Zhttps://garciaericn.com/apps/memory-vault2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/cheat-sheets/bash2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/cheat-sheets/elasticsearch2023-10-19T14:02:58.510Zhttps://garciaericn.com/code-notes/cheat-sheets/grep2023-10-19T14:02:58.511Zhttps://garciaericn.com/code-notes/cheat-sheets/kubernetes2023-10-19T14:02:58.511Zhttps://garciaericn.com/code-notes/cheat-sheets/markdown2023-10-19T14:02:58.511Zhttps://garciaericn.com/code-notes/cheat-sheets/vi2023-10-19T14:02:58.511Z \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index eaa1d830..418ef895 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://garciaericn.com/sitemap-pages.xml2023-10-06T18:00:47.601Z \ No newline at end of file +https://garciaericn.com/sitemap-pages.xml2023-10-19T14:02:58.528Z \ No newline at end of file diff --git a/test/spacing-audit/index.html b/test/spacing-audit/index.html index bb96936d..e4c38ef7 100644 --- a/test/spacing-audit/index.html +++ b/test/spacing-audit/index.html @@ -256,4 +256,4 @@ Earum quis vel fugiat dicta sapiente.

    A basic Notification. Omnis officiis culpa enim harum qui sint soluta qui nam. Labore minus sunt suscipit reiciendis laudantium nihil dolores quia. Enim quod ea omnis nihil cum. Similique consequatur illum ea libero quam. -Earum quis vel fugiat dicta sapiente.

    \ No newline at end of file +Earum quis vel fugiat dicta sapiente.

    \ No newline at end of file