git代码管理流程
一、使用git进行版本管理
使用git进行代码的分布式版本管理,首先需要在本地安装、创建本地仓库以及配置git
① 安装git
# linuxsudoaptinstallgit
Windows下载安装即可 https://git-scm.com/downloads
② 创建本地仓库
# 创建文件夹之后在根目录执行,执行完成后项目目录里面会多出一个.git目录,所以关于版本的信息都在这个目录里面
git init
# 创建完成后本地默认分支为master
③ git配置
# 创建完gti本地仓库之后,需要配置下git(配置成功后才能进行代码提交等操作)
$ git config --global user.name "Name"
$ git config --global user.email "[email protected]"
二、拉代码
git本地仓库创建完成之后就可以开始从远程仓库开始拉取代码了
① clone远程仓库代码
git clone 【url】
② 同步远程分支代码到本地分支
# 获取远程仓库的origin主机的远程分支内容到本地分支
git pull origin 【远程分支】:【本地分支】
本地分支,远程分支相关命令参见下一章
三、创建分支
拉完远程仓库的代码到本地默认是master分支,如果需要创建自己的本地开发分支可以执行
① 创建分支
# 创建本地分支
git branch 【分支名】
② 切换本地分支
# 切换分支
git checkout 【分支名】
# switch也可以切换分支
git switch 【分支名】
# 创建本地分支并切换
git checkout -b 【分支名】
# switch也可以切换分支
git switch-c【分支名】
③ 查看分支
# 查看本地分支(只有commit过内容的分支才能被查询出来)
git branch
# 查看远端分支
git branch -r
# 查看全部分支
git branch -a
④ 创建远程分支
# 将本地分支推送到远程,如果远程没有该分支将自动创建
git push origin 【分支名】
⑤ 删除远程分支
git push origin -delete : 【分支名】
四、合并代码
本地代码已经同步远端,也有了自己的分支开始开发,那开发完成之后怎么将本地的代码合并到远程仓库中的远程分支中呢
① 添加文件到暂存区
# 将所有改动过的文件添加到暂存区
git add .# 添加改动过的指定文件到暂存区
git add 文件路径
② 提交暂存区内容到本地仓库
git commit -m "对提交内容的描述"
③ 同步本地分支的内容到远程分支
git push origin 【本地分支名】:【远程分支名】
④ 提交mergre request
工作中可能有很多人同时在进行开发,所以大家在远端都会有个自己的远程分支,将自己本地代码提交到个人的远程分支之后,再通过merge request将修改合并到远端的公共仓中
⑤ 获取某一个分支的部分提交,和入到当前分支上
有人本地可能有多个分支在并行工作,有时在一个分支的某一个改动需要同步到本地另一个分支,这时需要使用到
git cherry-pick
# 首先在a分支查询提交的id
git log
# 然后切换到b分支
git switch b
# 合并a分支的提交到b分支上
git cherry-pick id# 退回本次合并
git cherry-pick --quit
⑥ 合并两个分支
当你需要完全同步另一个分支的改动时,可以使用
git merge
# 假设当前在A分支,以下表示同步B分支的改动到A分支
git merge B
五、版本回退
当你不小心提交了一个错误的内容到远程仓库,需要回退到历史版本时,需要以下操作
① 查询本地历史提交记录
# 可以查询到本地commit的版本号
git reflog
② 回退本地代码
# 回退本地代码到上个版本(一个^代表一个版本)
git reset --hard HEAD^
# 回退本地代码到指定版本
git reset --hard 版本号
③ 同步本地分支代码到远程分支
git push origin 【本地分支名】:【远程分支名】
六、其他
以上为git代码管理流程,git还有很多功能如:
① 查看每次本地提交的修改内容
# 查看commit版本
git log
# 查看某个本地commit的内容
git show 【commit_id】
② 切换分支
假设遇到一个很难解的问题1,修复需要很多时间。这时恰好有另一个简单的问题2需要修改合入,这时问题1已经修改了一部分,不能直接合入,修改的代码又不想删除。这时就可以暂存问题1的改动,切换到另一个分支去先修改问题2
# 暂存当前分支的改动
git stash
# 切换分支,后面在other_dev分支进行问题2的修复和合入,再切回原分支
git checkout -b other_dev
# 查看暂存列表
git stash list
# 恢复某一次暂存
git stash apply 编号
# 拉取最近的暂存
git stash pop
# 清空当前暂存列表
git stash clear
③ 查询文件、文件夹在工作区、暂存区的状态
git status
版权归原作者 啊a阿花 所有, 如有侵权,请联系我们删除。