Git Command
mkdir git-learning
cd git-learning
git init
~ Initialized empty Git repository in S:/CODE/git-learning/.git/
git add read.md
git add -p read.md //选择提交一部分
git commit -m "feat: add a readme file"
git status
git diff <filename>
git diff HEAD -- <filename> //查看工作区和版本库最新版本区别
git log //显示从最近到最远的提交日志
git log --pretty=oneline
git reflog
git reset --hard HEAD~<version number>
git reset --hard 4431212
//--hard和--soft的区别
//git reset 可以回退版本,也可以吧暂存区的修改回退到工作区
//文件没有add到暂存区之前
1 git checkout -- <filename>
2 git restore <filename>
//文件add到暂存区
1 git reset HEAD <filename>
git checkout -- <filename>
2 git restore --staged <filename>
git restore <filename>
git branch //查看当前本地分支
git branch -r //查看远程分支
git branch -a //查看所有分支
git checkout dev
git switch dev
git checkout -b dev //创建并切换,相当于git branch dev, git checkout dev
git switch -c dev //同上面的命令
git checkout master
git merge dev //将dev合并到master
git merge --no-ff -m <commit message> <branch> //合并分支到当前分支并增加一个commit
git branch -d dev
git branch -D dev //强制删除
git log --graph --pretty=oneline --abbrev-commit
git stash //当前还没add的修改保存到stash
git stash list //查看所有stash列表
git stash apply stash@{0} //还原stash的修改
git stash show -p //查看stash详细修改
git cherry-pick <commit-id> //将其他分支的commit复制到当前分支
git remote add origin git@github.com:dshipeng/git-learning.git
//origin是远程库的名字,这是git的默认叫法
git push -u origin master
//将本地master分支推送到远程,第一次推送加上-u参数,git不但会把本地的master分支内容推送到远程新的master分支,还会将两个分支关联,以后推送就可以简化命令了git push origin master
git push origin <local branch>:<remote branch>
git push //通常可省略
git remote
git remote -v
git clone git@github.com:dshipeng/gt-learning.git
git checkout -b dev oorigin/dev //将远程分支拉取到本地
git branch --set-upstream-to=origin/dev dev //建立本地分支与远程分支的关联
git push --set-upstream origin <branch>
git rebase
git rebase -i //交互式处理commit
git rebase --continue //解决冲突后执行
git rebase --abort //放弃rebase
git rebase --skip //将引起冲突的commits丢弃(慎用!)
git tag v1.0 <commit-id>
git tag -a v0.1 -m <commet> <commit-id>
git tag //查看所有标签
git show v1.0
git tag -d v1.0 //删除
git push origin v1.0 //push remote
git push origin :refs/tags/v1.0 //删除远程标签
- Refresh remote branch list
git remote update origin -p
git rebase -i <commit-id>
git rebase --continue
git push --force