Git开发流程及命令介绍
1、代码提交流程
① git add .
② git commit -m “说明”
2、其他命令
(1)git reset --hard HEAD^ 回退到上一个版本(HEAD表示当前版本,HEAD^表示上一个版本,HEAD~n表示上n个版本)
(2)git reset --hard 1094a 结果到指定版本
(3)git reflog 历史的git命令
备注:版本库为.git文件
说明:git add:把文件修改添加到暂存区
git commit:把暂存区的所有内容提交到当前分支
每次修改,如果不进行git add 就不会加入到commit中
(4)git diff HEAD – file.java 查看工作区和版本库里面最新版本的区别
(5)git checkout – file.java 将本地文件的内容撤销为和暂存区或版本库一样的状态(用版本库中的版本替换工作区的版本)
(6)git reset HEAD file.java 把已经添加到暂存区的修改撤销掉(此时已经使用了git add)
(7)git reset --hard HEAD^ 回退到上一个版本(此时已经使用了git commit)
(8)git rm file.java 从版本库中删除文件(并git commit)
(9)git push -u origin master 将本地库的所有内容推送到远程库中(-u:实现本地master分支与远程master分支关联),此后就可以使用git push origin master
(10)git remote add origin git@…git 关联一个远程仓库
(11)git clone git@…git 克隆一个本地库
3、分支管理
(1)git checkout -b dev 创建了dev分支并切换
(2)git branch 查看所有分支(*表示当前分支)
(3)git merge dev 合并指定分支到当前分支(此时已经切换到master等其他分支)
(4)git branch -d dev 合并完之后删除dev分支
(5)git checkout dev 切换到已有的dev分支上
(6)git log --graph 分支合并图
(7)git branch -D feature1 强行删除一个没有被合并的分支
(8)git remote -v 查看远程库的信息
(9)git push origin master 将本地提交推送到远程库(推送时指定本地分支)
(10)git checkout -b dev origin/dev 创建本地dev分支,关联远程dev分支
(11)git branch --set-upstream-to=origin/dev dev 设置本地dev分支与远程dev分支的链接
(12)git rebase 本地未push的分叉提交历史整理成直线
4、强制拉取远程覆盖本地代码
git fetch --all 下载远程库中的内容
git reset --hard origin/master 把HEAD指向刚刚下载的最新的版本
git pull 把远程最新的提交同步到本地
5、bug分支操作
(1)git stash 隐藏当前分支的工作,不用提交
(2)git stash list 切换到隐藏工作的分支后,查看被隐藏的工作现场
(3)git stash pop 恢复被隐藏的工作现场,并删除stash内容
(4)git cherry-pick 4c805e2 将4c805e2提交的修改复制到当前分支
6、标签
(1)git tag v1.0 打一个新的标签
(2)git tag 查看标签
(3)git tag v0.9 f52c633 根据commitid打标签
(4)git show v0.1 显示v0.1版本的详细信息
(5)git tag -a -m “blablabla…” 指定标签信息
(6)git tag -d v0.1 删除标签
(7)git push origin v1.0 将v1.0标签推送到远程
(8)git push origin --tags 将所有未推送的标签推送到远程
(9)git tag -d v0.9 ,然后git push origin :refs/tags/v0.9 删除远程上的指定标签