Git工作流程及使用
Git工作流程与常用命令
Git工作流程
workspace:工作区
staging area:暂存区/缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
Git常用命令
一个简单的本地代码上传到远程仓库步骤:
// 先创建仓库
// 初始化
git init
// 到暂存区
git add .
// 提交到本地仓库
git commit -m'first-demo'
// 本地仓库与远程仓库关联
git remote add origin https://gitee.com/xx/xxx.git
// 查看
git remove -v
// 推送远程仓库
git push -u origin "master"
//拷贝一个Git仓库到本地
git clone <仓库地址>
//将两个分支的内容进行合并,将当前分支的内容合并到目标分支,并且在目标分支生成一个新节点
git merge <本地分支名>
//将两个分支的内容进行合并,直接讲内容添加到目标分支,不会生成新节点
git rebase
//查看本地仓库分支和远程仓库分支
git branch
//添加远程版本库
git remote add [shortname] [url]
//用于从远程获取代码库
git fetch
//切换本地分支
git checkout <本地分支名>
//用于从远程获取代码并合并本地的版本(更新本地代码为最新版本)
git pull
//添加当前目录下的所有文件到暂存区
git add .
//将暂存区内容添加到本地仓库
git commit -m [message]
//将本地的分支版本上传到远程并合并
git push <本地分支名>|<远程分支名>
//回退到上个版本
git reset --hard HEAD^
//回退到前3次提交之前
git reset --hard HEAD~3
//退到/进到 指定的commit
git reset --hard commit_id
//强推至远程
git push origin HEAD -- force
项目中使用Git的场景
需求开发前的分支拉取流程,需求开发后的分支合并流程
git branch
//master分支拉取代码到dev-demon-0307分支并切换到该分支
git checkout -b dev-demon-0307
//修改代码内容后
git add .
git commit -m'demon提交'
//本地开发分支推送到远程
git push origin dev-demon-0307
//接下来进行代码合并
//切换到主干分支
git checkout master
git merge dev-demon-0307
//主干分支推送到远程
git push origin master
分支合并出现冲突如何解决
出现线上问题时hotfix分支的操作流程
如果多人开发过程中进行分支合并出现冲突:查看日志确认产生冲突的位置,找到对应开发人员进行讨论,确认用谁的代码或者两个代码同时保留,修改完成后
git add .
git commit -m'冲突解决'
//代码提交到远程
git push origin master
线上出现事故代码如何回退
//回退到上个版本
git reset --hard HEAD^
//回退到前3次提交之前
git reset --hard HEAD~3
//退到/进到 指定的commit
git reset --hard commit_id
//强推至远程
git push origin HEAD -- force