Common basic git command
git init:To create a new local git repository to run the git command
git branch new-branch-name
To create a new branch
This will use the current workspace's HEAD to create a branch. This command will create the new branch in repository, but it will not switch the current workspace to the new branch; use "git checkout <newbranch>" to switch to the new branch.
git checkout branch
switch the current workspace to the specified branch.
To combine the operation of create a branch and checkout it in a single command, use the following command:
"git checkout -b NewBranchName referenced-headername"
If the current branch has local added but uncommitted change, then you cannot switch to another branch by using git checkout. you need first commit or reset the change in current branch.
git branch
git branch -a
Execute "git branch" will show all local branches available in the repository, the current head branch is started with *.
"git branch -a" will list all remote and local branches
git add:
Add local change
take a stage snapshot of the local workspace change for future commit, it just creates snapshot for the current change in the workspace, no new head will be added in git repository. You can use git add multiple times and then commit them altogether
git commit
git commit --amend
To commit local change to repository
Git commit only commit the change from the snapshot created by git add.
--amend will add then new staged change into the previous commit. Running this when there is nothing staged lets you edit the previous commit’s message without altering its snapshot. After the commit message is changed in vi, for windows, press esc key and then type ":wq" to save the change and exit the editor.
git branch -d BranchName
delete a branch in local repository
git rebase SomeBranch
To apply the change in SomeBranch to the current branch from their common parent base head.
git pull
To pull server change without local committed change
git pull --rebase
integrate remote change to local branch
git fetch origin remoteBranchName
git checkout remoteBranchName
fetch a remote branch content to local and then checkout the branch. This command can be used when someone sends you a branch which contains some temporary change.
git push origin master
To push the local committed change to server branch
git clean -f -d
Remove local untracked file and folder
git checkout .
Revert all local change in existing files that are not staged with "git add" command.
git reset
revert the staged change made with "git add" command. the local change in workspace is still kept as local, unstaged change. (git reset FilePath can also be used for single file )
git reset --hard
remove the staged change created by git add, and revert the local change back to the most recent commit. The local change will be lost
git revert PreviousCommitHash
make a commit to revert the previous change specified in previousCommitHash
git reset HEAD^
remove the last commit but keep the change in local
git add -u
Add all deleted file into added change for commit.
git cherry-pick head1
merge the change from one branch to another
1. get the sha1 number for the change
2. goto the dest branch and update the code to latest
3. run git cherry-pick sha1
4. commit the change to the new branch
git stash
save the current change with default name
git stash push PathOfFileOrFolder
git reset HEAD^
remove the last commit but keep the change in local
git add -u
Add all deleted file into added change for commit.
git cherry-pick head1
merge the change from one branch to another
1. get the sha1 number for the change
2. goto the dest branch and update the code to latest
3. run git cherry-pick sha1
4. commit the change to the new branch
git stash
save the current change with default name
git stash push PathOfFileOrFolder
save the current change for a particular file or folder
git stash save "name"
save a named change to stash
git stash list
show the existing stash
git stash pop
git stash pop stash@{0}
pop up a saved stash
git stash drop
delete the top stash without using it.
git stash apply
apply the last saved stash change, but do not delete it
git stash apply
apply the last saved stash change, but do not delete it
Common comparison commands
git diffcompare local workspace change with added change (or committed change if no staged change available)
git difftool --cached
compare the difference between the added snapshot (before commit) and the last committed change
git difftool HEAD^ HEAD
compare the difference between the last commit and the previous commit
git diff HEAD
compare local workspace un-added change with the last committed change
git diff head1
compare the specified commit (head1) with the last commit (HEAD)
git diff commit1 commit2
compare all the changes made after commit1 (commit1's change is excluded), but including the changes made in commit2
git diff head1 head2
compare the specified commit head1 with head2
git diff head1^ head1
compare the change made by commit head1 with its parent
gitk -all &
show the visual commit history for all branches without block the terminal command
git diff head1 head2
compare the specified commit head1 with head2
git diff head1^ head1
compare the change made by commit head1 with its parent
gitk -all &
show the visual commit history for all branches without block the terminal command
Git Tag for version management
git tag -a yourReleaseVersionNumber -m "release comment"
after a version is released, a git tag should be created to stamp the code that is associated with this release
git tag
show the existing tags
git show yourReleaseVersionNumber
show the commit message for the tag
git tag -d yourReleaseVersionNumber
delete an existing tag
git push origin yourReleaseVersionNumber
push the tag to remove repository
git checkout yourReleaseVersionNumber
checkout an existing tag. After checkout a tag (v1.0) as detached header, you need to use checkout -b to create a new branch (v1.1) based on the tagged code base, and then check in the change into the new branch (v1.1)
Update forked repository
assume you already in your local master branch, then follow the below steps
1. add remote (original) repo and call it upstream
git remote add upstream https://github.com/manishjanky/ngx-select-dropdown.git
2. fetch the change from remote upstream
git fetch upsteam
3. update local master to remote upstream's master
git rebase upstream/master
4. push your local master change to your remote forked master
git push origin master --force
No comments:
Post a Comment