git
版本控制工具
下载: https://git-scm.com/
git clone: 是用来拉代码的,git pull是更新当前分支的代码,拿到最新的代码,git pull是获取已经存在的仓库
管理代码:
初识化 git init
查看状态 git status
添加管理
git add 文件名
git add .
配置信息
git config --global user.email '邮箱地址'
git config --global user.name '用户名'
提交版本 git commit -m '描述信息' 越详细越好
查看所有的版本
git log
git reflog (所有版本)
git reset --hard 版本号(哈希值)
突然出现BUG,新开发的功能没有完成:
git stash 把当前做的修改的内容隐藏(放到某个地方),回退原始的状态
修复BUG
提交新的版本
接着开发未完成的功能:
git stash pop
stash
git stash
git stash list 查看“某个地方”存储的所有记录
git stash clear 清空“某个地方”
git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
git stash apply 编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突)
git stash drop 编号,删除指定编号的记录
分支:
- master 主要的
- dev 开发
git branch 查看所有的分支
git branch dev 创建一个叫dev的分支
git checkout dev 切换到dev的分支
git checkout master 切换到master的分支
git merge dev 把dev分支的合并到master上
git branch -d debug 删除debug分支
线上出现BUG时,如何操作?
保存当前的修改。切换到master分支上。创建debug分支,再切换到debug分支上进行代码的修改,修改完之后,提交版本。
切换到aster分支上,将debug分支上的代码合并过来。把debug分支删除掉。
工作区和版本库:
git checkout 文件名 把修改的状态还原
-
代码管理平台
- GitHub
- gitlab
- 码云
情景模拟:
创建项目
切换到项目目录中进行初始化git init
git config --global user.email 'xxx@xx.com'
git config --global user.name 'xxx' git add .
git commit -m '描述' git branch dev
git checkout dev
修改开发
git add .
git commit -m '新功能开发' git checkout master
git merge dev 没有GitHub的需要注册
在远程创建代码库 hbhot https://github.com/xiao380/hbhot.git 在家里的电脑上:
git remote add origin https://github.com/xiao380/hbhot.git
推代码 git push -u origin master 在远程创建master分支
git checkout dev
git push -u origin dev 在远程创建dev分支 在公司:
从GitHub上下载代码 可以手动下载 git clone https://github.com/xiao380/hbhot.git 只下载了master分支 git clone是远程操作的第一步,通常是从远程主机克隆一个版本库,eg: git clone ## 该命令会在本地主
机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数。eg: git branch dev
git checkout dev
git pull origin dev 从远程下载dev分支 继续在dev分支上开发代码。。。
git add .
git commit -m '1.py' 在家:
git pull origin dev
开发
提交新的版本
推到远程 在公司:
git pull origin dev
开发
提交新的版本
推到远程 下班忘记推代码了:
在家开发新的功能 不1.py中写了 写新的功能 2.py
git add .
git commit -m '2.py'
git push origin dev 第二天到公司:
git pull origin dev 没有问题自动合并 填写信息
。。。。 有冲突解决冲突就性,记得下班的时候推代码。保持分支记录清洁:
git pull origin dev 等于:(有分叉的)
git fetch origin dev
git merge origin/dev
约等于:(没有分叉,保持记录的清洁)
git fetch origin dev
git rebase origin/dev多人开发:
合作者模式:
当前项目的拥有者 xiao380
邀请 其他人参与项目 maple-shaw组织