日复一日,必有精进
官方手册https:#git-scm.com/docs
创建
1 2 3 4 5
| git init git init gitDicName
git clone https: git clone https:
|
配置
1 2 3 4 5 6 7 8
| git config --global user.name "myUserName" git config --global user.email "myEmail@Email.com"
git config --global alias.logg "log --oneline --graph"
git config -l
|
基础使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| git init git add . git commit -m "repoInit and add files" git commit --amend
git push
git status git status -s git diff git diff branch1 branch2 --stat
git log git log --oneline git log --oneline --graph git log --oneline --graph --all -5 git blame README
git rm
ls
|
分支
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| git branch branchName git checkout branchName
git checkout -b branchName
git branch git branch -r git branch -a
git checkout master git merge branchName
git branch -d branchName git branch -d -r branchName
git tag git tag v1.0.0 git tag -a v1.0.0 -m "Release version 1.0.0" HEAD
git push origin {标签名} git push origin --tags
git tag -d {标签名} git push origin :refs/tags/{标签名}
|
Remote
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| git remote add origin git@gitee.com:silencejql/git-practice-repo.git git push 远程主机名 远程分支名:本地分支名 git push --force origin master git push -u origin master
git remote git remote -v
git fatch git merge
git pull = git fetch + git merge git pull 远程主机名 远程分支名:本地分支名
git fetch origin git fetch origin master git chechout -b tmp origion/master git merge origin/master
git merge -Xignore-space-change whitespace git merge --abort
git fetch origin master:temp git diff temp git branch -d temp
|
版本回退
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
git stash git stash list
git stash pop git stash apply git stash apply stash@{0}
git log
git reset --soft HEAD^:将最近一次提交节点的提交记录回退到暂存区 git reset --mixed HEAD^:将最近一次提交节点的提交记录回退到工作区 git reset --hard HEAD^:将最近一次提交节点的提交记录全部清除
git reset --hard HEAD git reset --hard HEAD^ git reset --hard HEAD^^
git reset --hard HEAD~1 git reset --hard HEAD~n
git reset --hard 8b416
git revert 8b416
git rebase -i HEAD~n
git rebase -i starthash endhash git checkout -b tmp git checkout master git rebase tmp
git push -f
|
清空Commit
1 2 3 4 5 6 7
| git checkout --orphan new_branch #基于当前分支创建一个独立的分支new_branch git add -A git commit -am "commit message" git branch -D master #删除master分支 git branch -m master #重新命名当前独立分支为 master
git push -f origin master #推送到远端分支,强制覆盖
|