notes/The basics of Git.md
2023-08-23 15:24:26 -06:00

2.2 KiB

#notes #documentation

Create a git repository

git init

  • This defines the folder as a git repository, and creates .git, a folder that contains metadata about the repo, like where the remote (repository hosted somewhere else) is, and other useful stuff like version control. You should not need to directly interact with this folder.

git add .

  • This makes all files and folders in the current repository(can also be more precise by replacing . with specific files) tracked.

git commit -am "The Epoch"

  • Syntax breakdown:
    • -a All, commit all changes
    • -m Have a message, takes a string argument, in this example, "The Epoch"

If adding a remote repository, GitHub or otherwise.

git remote add origin https://urltorepo.com/path/to/repo

  • Telling git that the files should come from and go to that remote repository, where https://urltorepo.com/path/to/repo is the destination repo.
  • If the url is wrong, it can be removed with git remote remove origin

git branch -M main

  • Syntax breakdown:
    • -M, shortcut for --move --force, used to move/rename a branch.
  • Telling git that we want the current branch to be main.

git push -u origin main

  • Synatx breakdown:
    • -u is a shortcut for --set-upstream
  • Telling git that we want the main host of the repository(origin, or https://urltorepo.com/path/to/repo) to be the host. After this is run one time, git remembers, and you can shorten it to git push, to take commits(saved changes) from your local code, and send them to remote(GitHub or other Git server).

Update code on github/remote

git commit -am "changes"

  • Tell git to keep track of all the changes you made

git push

  • Take code here and put it on the server

Get code from github

git clone https://remotehost.com/repo/to/clone

  • Download a folder containing all of the code and versions to a project, where https://remotehost.com/repo/to/clone is the url of the repo in question.

Fetch recent changes from github

git pull

  • Take the most recent commits from github, and copy them locally.

Merge local changes with remote changes

git stash

  • Take any code that hasn't been committed, and save, before reverting back to the latest commit. git pull
  • Fetch remote changes and apply them locally