Basic setup & Commands
Add your information
It is for the first time use.
The user's email:
git config --global user.email "xxx@gmail.com"
The user's name:
git config --global user.name "Chieh"
Clone
SSH method
git clone (ssh://-)
Or HTTP/HTTPS method
git clone (https://~)
Remote setup
Basically we will need to use this "git remote" command to control all actions regarding the remote repository.
First of all, we can use
git remote -v
to check this git folder connecting to where?➜ git remote -v
origin git@gitlab.com:chiehpower/test.git (fetch)
origin git@gitlab.com:chiehpower/test.git (push)It means the remote address of the "Origin" this source will connect to
git@gitlab.com:chiehpower/test.git
this remote repository.Note: Normally, we could see "origin" this source for most of articles. It is just a name to represent the following repository path. Of course, we can name it as what we want. That's all.
For example, we can add many remote sites like below.
➜ git remote -v
origin git@gitlab.com:chiehpower/test.git (fetch)
origin git@gitlab.com:chiehpower/test.git (push)
github git@github.com:chiehpower/test.git (fetch)
github git@github.com:chiehpower/test.git (push)We can choose which remote source we wanna push to and fetch from.
You will need to set a remote repository at least.
Command:
git remote add <name> <url>
The
<name>
represents a remote source name.For eaxmple:
git remote add origin git@gitlab.com:chiehpower/test.git
Push the codes to different multiple registries at the same time.
Command:
git remote set-url --add <upstream> <url>
Let's check original remote-name.
git remote -a
For example:
$ git remote -a
origin git@github.com:chieh/test.git (fetch)
origin git@github.com:chieh/test.git (push)Assume that I have another repository on Gitlab, and I want to update the code at the same time. It means when I push the codes to Github (origin) in the future, it will help me directly push the codes to GitLab.
git remote set-url --add origin git@gitlab.com:chieh/test.git
Reset
git reset --hard HEAD^
worktree
Worktree is somewhat similar to git stash
, but sometimes git stash
can easily cause more problems due to operational mistakes.
In simple terms: Git creates a new folder (workspace) where only the operations related to that branch are performed. You can make changes inside this folder and then discard the folder (workspace) afterward.
git worktree list
Check the workspace of a worktree list.
git worktree add
Command:
git worktree add <folder name> <branch name>
For example:
git worktree add dev dev
`git worktree remove <folder/workspace name>
git worktree remove dev