基本操作
- git init
- git add .
- git stauts
- git commit -m '描述'
- git log
- git log --pretty=oneline
回退版本
git reset --hard HEAD^
git reset --hard commit_id
git log查看提交历史
git reflog 查看历史命令
撤销修改
- git checkout -- <filename>
删除文件
手动删除本地,rm <filename>
再删除版本库,git rm ,git commit
远程仓库
- 远程库名称origin
- git remote add origin <site> 关联远程库
- git push -u origin master 把本地库所有内容推送到远程库中
- git remote -v 查看远程库信息
- git remote rm origin 解除本地和远程的绑定关系,非物理删除
- git clone <site> 从远程库克隆一个本地库
分支管理
- git branch 查看分支
- git branch dev 创建分支dev
- git checkout -b dev ; 创建+切换dev分支
- git checkout dev ; 切换到分支dev
- git merge dev 把dev分支的工作成果合并到当前分支
- git branch -d dev 删除dev分支
- 分支策略:
- master用于稳定版,发布新版本;
- dev用于干活
- 每个人都有自己的分支,往dev分支上合并
- 修复bug时,创建新的bug分支进行修复,再合并,删除
- 手头工作未完成时,现场工作git stash 保存
- git stash 保存工作现场
- git stash pop 回到工作现场
- git cherry-pick <commit-id> 把bug提交的修改复制到当前分支
多人协作
- 查看远程库信息,使用
git remote -v
; - 本地新建的分支如果不推送到远程,对其他人就是不可见的;
- 从本地推送分支,使用
git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交; - 在本地创建和远程分支对应的分支,使用
git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致; - 建立本地分支和远程分支的关联,使用
git branch --set-upstream branch-name origin/branch-name
; - 从远程抓取分支,使用
git pull
,如果有冲突,要先处理冲突。 - 推送策略
- master 主分支,要时刻与远程保持同步
- dev是开发分支,团队成员都要在上面工作,也要时刻保持同步
- bug、feature分支可不推送
标签管理
- git tag <tagname> <commit-id> 新建tag
- git tag -a <tagname> -m "......"可以指定标签信息;
- git show <tagname>查看标签信息