Git 常用命令
git init
初始化仓库
git init <项目名称>
例:git init demo
git clone
克隆一个远程仓库
git clone [url]
git pull
从远程分支拉取代码进行合并
git pull <远程主机名> <远程分支名>:<本地分支名>
例:git pull origin master:dev --将远程master分支取回本地与本地dev分支合并
如果分支名称一样 可以省略只写一个
git pull <远程主机名> <分支名>
例: git pull origin dev --将远程dev分支拉取到本地与本地dev分支合并
git push
推送本地分支到远程
git push <远程主机名> <本地分支名>:<远程分支名>
例:git push origin dev:master --将本地dev分支提交到远程master分支
如果分支名称一样 可以省略只写一个
git push <远程主机名> <分支名>
例: git push origin dev --将本地dev分支提交到远程dev分支
删除远程分支
git push <远程主机名> --delete <远程分支名>
例:git push origin --delete dev --删除远程dev分支
关联远程分支
git push -u origin <远程分支>
git fetch
从远程分支拉取代码,通常与git merge
一起使用
git fetch <远程主机名>
git merge
git merge <非当前分支名>
例:git merge dev -- 将dev分支合并到当前分支
git fetch + git merge == git pull
建议使用git fetch + git merge
代替git pull
,因为 git pull 会直接将代码合并,造成冲突的时候无法知道, fetch下来的代码可以通过 git diff origin /xxx
进行差异对比,在决定是否合并
git branch
git branch --查看本地分支
git branch -a --查看本地分支和远程分支
git branch <分支名称> --新建一个分支
修改本地分支名称
git branch -m <旧名称> <新名称>
例:git branch -m dev dev1.0 --将dev分支重新命名成dev1.0
删除本地分支
git branch -d <本地分支名>
查看本地分支与远程分支的追踪关系
git branch -vv
git checkout
git checkout <分支名> -- 切换分支
git checkout -b <分支名> -- 新建分支并切换到改分支
git restore
git restore -S <文件名> -- 撤销该文件在暂存区的修改,回退到未add之前
git restore -S <文件名> -- 撤销该文件在工作区的修改
git restore -s HEAD~1 -- 回退一个版本
git restore -S -- 回退到指定版本
git log
查看提交历史
git log <分支名称> 查看该分支的提交记录
git log -p 展开显示每次提交的内容差异
git log --oneline 简易查询提交历史