Git 经常使用操做和流程

基本操做

  • 初始化仓库
git init
复制代码
  • 关联到远程仓库
git remote add origin <url>
复制代码
  • 添加到版本库
//添加所有
git add .
//添加具体文件
git add <文件名>
复制代码
  • 添加到本地库
git commit -m "提交描述信息"
复制代码
  • 拉取并合并冲突
git pull origin master
复制代码

git pull 能够拆分为git fetch 和 git mergeandroid

  • 提交本地库到远程库
git push origin master
复制代码
  • 克隆
git clone <url>
复制代码
  • 设置用户名和邮箱
//全局设置(全部项目通用)
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.md
git add READEME.md
git commit -m "init"
git remote add origin https:gitee.com/....
//第一次推送master分支,加–u参数,推送到远端并关联master
git push -u origin master
复制代码
  • 仅拉取仓库某个文件夹
git init
git remote add origin <仓库地址>
git config core.sparsecheckout true
//echo 是所拉取文件路径
echo project/android >> .git/info/sparse-checkout  //注意路径符号 /
git pull origin master
复制代码
  • 远端仓库新建分支:
方法1:
git checkout -b dev
git branch --set-upstream-to = origin/dev //创建本地到上游(远端)仓的连接 --这样代码才能提交上去
git branch --set-upstream debug origin/debug //其中debug为建立的分支
git push origin dev

git branch --unset-upstream master //取消对master的跟踪 按需使用

方法2:
git branch -b stage2
git push origin 本地分支名:远端分支名xx  // 在服務器新建新分支名xxx

 
对比:
git branch -b stag2
git push origin stage2:refs/for/stage2 // 代码入庫命令,不会新建新分支在远端
复制代码
  • 冲突解决流程
git merge dev
...产生冲突
git status
...查看状态
//<<<<<<<,=======,>>>>>>>标记不一样分支内容,其中<<<HEAD 是主分支修改的内容,>>>>>dev 是dev上修改的内容
git add <文件>
git commit -m "***"
复制代码
  • bug fix流程
//假定目前在dev分支
//储藏当前工做,用于后续恢复
git stash
//建立bugfix分支
git checkout -b bugfix
//完成修改并提交
git add .
git commit -m "bugfix"
//切换至master分支完成合并后删除bugfix
git checkout master
git merge bugfix
git branch -d bugfix
//切换至dev分支恢复开发
git branch dev
//查看状态和暂存内容
git status
git 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
复制代码
相关文章
相关标签/搜索