git常用命令说明
- 常用的git操作dev分支,最终合并到远程的dev和master分支的流程
- git status 查看当前分支文件的状态
- git branch:查看当前分支
- git branch -a:查看所有的分支
dev:本地dev分支
* master:本地master分支
remotes/origin/dev:远程dev分支
remotes/origin/master:远程master分支
确认当前分支是dev分支
- git add 111.php 222.php 将需要提交的代码放入到缓存区
- git commit -m '退款优化' 将缓存区的代码提交到本地的dev分支
- git push origin dev 将本地的dev推送到远程的dev
- git checkout master 切换本地分支到master
- git merge dev 将本地dev分支合并本地master分支
- git push origin master 将本地master推送到远程master
- branch
- git branch:查看当前分支
- git branch -a:查看所有的分支
- git branch --set-upstream-to=origin/remote_branch your_branch 关联本地分支和远程分支
- checkout
- git checkout master切换本地分支到本地master
- git checkout -b dev 本地创建新分支,该分支是从当前分支拉取的,创建成功后,当前分支会自动切换到新分支
- git checkout -b dev origin/dev 本地创建新分支,该分支是从远程的dev分支拉取的,创建成功后,当前分支会自动切换到新分支
- push
- git push origin master 将本地master推送到远程master
- git push --set-upstream origin dev 推送本地分支到远程仓库
- pull
git pull <远程主机名> <远程分支名>:<本地分支名>
如果是要与本地当前分支merge,则冒号后面的<本地分支名>可以不写
- pull、fetch和merge区别
- pull:只能何必远程分支的代码,pull=fetch+merge
- fetch:从另一个存储库下载对象和引用,不会合并代码
- merge:合并代码,可以合并远程代码也可以合并本地其他分支代码,合并远程代码前需要先fetch,否则合并不了
- reset
复位命令
- git reset --soft HEAD~1
回退一个版本,不清空暂存区,将已提交的内容恢复到暂存区,不影响原来本地的文件(未提交的也不受影响) - git reset --hard HEAD~1
回退一个版本,清空暂存区,将已提交的内容的版本恢复到本地,本地的文件也将被恢复的版本替换 - git reset (--mixed) HEAD~1
回退一个版本,且会将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态,不影响原来本地文件(未提交的也
不受影响)
- tag
- git tag:查看本地的tag列表
- git push origin –tags 将tag同步到远程仓库
- git pull origin v3.0 从远程的tag分支拉取代码