基本操作
- 初始化仓库
git init复制代码
- 关联到远程仓库
git remote add origin复制代码
- 添加到版本库
//添加全部git add .//添加具体文件git add <文件名> 复制代码 文件名>
- 添加到本地库
git commit -m "提交描述信息"复制代码
- 拉取并合并冲突
git pull origin master复制代码
git pull 可以拆分为git fetch 和 git merge
- 提交本地库到远程库
git push origin master复制代码
- 克隆
git clone复制代码
- 设置用户名和邮箱
//全局设置(所有项目通用)git config --global user.name "**"git config --global user.email "**"//局部设置(不同项目不同)git config user.name "**"git config user.email "**"复制代码
- 用户名和密码存储
//全局配置git config --global credential.helper store//局部配置git config credential.helper store//设置cache时间为1小时git config credential.helper 'cache --timeout=3600'复制代码
- 查看远程服务器
//查看远程服务信息git remote//查看远程服务器详细信息git remote -v复制代码
- 查看状态
git rstatus复制代码
- 查看日志
git log复制代码
- 版本回退
//回退多少就几个^git reset --hard HEAD^ 或 git reset --hard HEAD~10复制代码
- 分支查看/创建/切换/合并
//查看本地分支git branch//查看所有分支git branch -a//创建分支git branch dev//切换分支git checkout dev//–b参数表示创建并切换git checkout -b dev//删除分支git branch -d dev//删除远程dev分支,危险命令git push origin :dev //合并dev分支到当前所在分支git merge dev//本地创建和远程分支对应的分支git checkout -b branch-name origin/branch-name//本地分支和远程分支的关联git branch --set-upstream branch-name origin/branch-name复制代码
具体需求
- 创建仓库
//一步操作 也可以拆分成两步git init <文件夹名> && cd <文件夹名> touch README.mdgit add READEME.mdgit commit -m "init"git remote add origin https:gitee.com/....//第一次推送master分支,加–u参数,推送到远端并关联mastergit push -u origin master复制代码 文件夹名> 文件夹名>
- 仅拉取仓库某个文件夹
git initgit remote add origin <仓库地址> git config core.sparsecheckout true//echo 是所拉取文件路径echo project/android >> .git/info/sparse-checkout //注意路径符号 /git pull origin master复制代码 仓库地址>
- 远端仓库新建分支:
方法1:git checkout -b devgit branch --set-upstream-to = origin/dev //建立本地到上游(远端)仓的链接 --这样代码才能提交上去git branch --set-upstream debug origin/debug //其中debug为创建的分支git push origin devgit branch --unset-upstream master //取消对master的跟踪 按需使用方法2:git branch -b stage2git push origin 本地分支名:远端分支名xx // 在服務器新建新分支名xxx 对比:git branch -b stag2git push origin stage2:refs/for/stage2 // 代码入庫命令,不会新建新分支在远端复制代码
- 冲突解决流程
git merge dev...产生冲突git status...查看状态//<<<<<<<,=======,>>>>>>>标记不同分支内容,其中<<>>>>dev 是dev上修改的内容git add <文件> git commit -m "***"复制代码 文件>
- bug fix流程
//假定目前在dev分支//储藏当前工作,用于后续恢复git stash//创建bugfix分支git checkout -b bugfix//完成修改并提交git add .git commit -m "bugfix"//切换至master分支完成合并后删除bugfixgit checkout mastergit merge bugfixgit branch -d bugfix//切换至dev分支恢复开发git branch dev//查看状态和暂存内容git statusgit stash list//恢复隐藏工作git stash pop复制代码
- 合并远程分支
//切换至需要合并分支git checkout dev-branch//本地开拉取开发分支git pull origin dev-branch//切换至master分支git checkout master//本地开拉取master分支git pull origin master//合并分支git merge dev-branch//推送到远程仓库git push origin master//根据需要删除本地分支git branch -d dev-branch//根据需要删除远程开发分支 谨慎操作git push origin :dev-branch复制代码