1- 版驱动器
顺利完成 协作合作开发 工程项目,协助开发人员资源整合标识符
1)协助合作开发人员分拆合作开发的标识符
2)假如再次出现武装冲突标识符的分拆,会提示信息后递交分拆标识符的合作开发人员,让其化解武装冲突
#1-王承恩协作合作开发两个工程项目,版管理软件:svn,git
二者的差别:svn假如伺服器被黑,会引致标识符遗失,合作工程进度停滞不前,
git在伺服器再次出现难题,并不能引致负面影响,因此他能做驱动器软件产业布署
#2-标识符放置库房
github:远距库房,亚洲地区最小的开源标识符库
gitee:我国的版github(许多子公司在用)
gitlab:子公司他们构筑的远距库房,子公司的标识符放到下面
2- git的组织工作业务流程
3- 版库间的通讯
4- git的采用
#1-加装
浏览相关联版:https://git–scm.com/download 直接点下一步即可
#2 git相关操作
(1) 设置全局或者局部用户
#注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有库房下都能采用
git config —global user.name 用户名
git config —global user.email 用户邮箱
#注:在当前库房下的config新建用户信息,只能在当前库房下采用,注意优先采用的是局部用户
git config user.name 用户名
git config user.email 用户邮箱
(2)–组织工作区,暂存区,版库 # 注意西面用到的.都能用文件名进行替换
–git init # 生成两个.git 的文件夹
–git stauts # 查看状态(红色和绿色),必须全绿再递交到版库
–git add . # 递交到暂存区
–git commit –m 文字 # 从暂存区递交到版库
–git checkout . # 把组织工作区的标识符恢复到版库中最先的标识符
–git reset . # 把暂存区的东西拉回到组织工作区(原来是绿的变红了)
–git reset —hard 版号 # 回退到某个版
(3)分支
–git branch # 查看所有分支,假如分支是绿色,是再当前分支是
–git branch 分支名 # 创建分支
–git chekout dev # 切换到dev分支
–git chekout –b dev2 # 创建并切换到dev2分支
–git branch –D dev2 # 删除dev2分支,不能再这个分支上
–git merge dev # 你必须再其他分支(master),分拆dev
(4)查看日志
–git log # 显示作者,版号,注释
–git reflog # 显示精简信息,显示的更多(版切换也会显示)
5- 过滤文件
注意:我们工程项目中有一些文件,文件夹,不要递交到版库
1– 在工程项目的根目录下新建:.gitignore.(win平台)
2– 采用方式?
(1)直接写文件夹名字或者/文件夹名字,表示忽略这个文件夹
(2)# 表示注释
(3)直接写文件名,表示忽略该文件
(4)* 表示通配符,表示任意数量任意字符 案例:*.log 以.log结尾的都忽略
(5)?表示单个字符 ?.log
3– 实际应用luffy
“””
.idea
*.log*
__pycache__
scripts
#luffapi_02/apps/*/migrations/
*/*/*/migrations/*.py !*/*/*/migrations/__init__.py
“””
6- 远距git合作开发
1-git 远距连接的一些操作
# 1 gitee 新建库房
注意初始化库房–>选择语言即可
选择分支模型–>单分支模型
# 2 remote源操作
–git remote #查看库房已配置的远距源
–git remote remove 源名 #删除远距源
eg:git remote remove origin
–git remote add 源名 源地址
eg:git remote add orgin https://gitee.com/longge521/test01.git
–git push origin master #递交主分支的标识符到远距源
–git pull origin dev #从dev分支拉取数据
–git clone 远距源地址 #克隆远距源的标识符
2-git工程项目的创始者和合作开发人员
工程项目创始者
# 情况一 还没有创建工程项目
mkdir test
cd test
git init
touch README.md
git add README.md
git commit –m “first commit”
git remote add origin https://gitee.com/liuqingzheng/test.git
git push –u origin master
# 情况二 在本地以及操作了(git_test)
cd git_test
git remote add origin https://gitee.com/liuqingzheng/test.git
git push origin master # 本地标识符推送到远距
# 注意事项
(1)递交的时候需要输入gitee的用户名和密码
(2)递交成功以后,在远距库房是能看到版变更记录
工程项目合作开发人员
# 因为是开源的所有人都能克隆
git clone https://gitee.com/liuqingzheng/test.git
# 修改改标识符
git add .
git commit –m 这是两个注释信息
git remote add origin https://gitee.com/liuqingzheng/test.git
git push origin master
# 注意在递交标识符之前,要先更新
git pull origin master
7- 如何采用pycharm配置git -他们输入用户名密码
#1 git init
导航栏VCS —> import into Version Control —> Create Git Repository
#2 git add .
点击工程项目根目录右键 —> Git —> Add
#3 git commit -m 注释信息
点击工程项目根目录右键 —> Git —> Commit Directory
#4 添加远距库房
点击工程项目根目录右键 —> Repository —>Remotes
#5 git push origin master
点击工程项目根目录右键 —> Git —> Repository —> Push
#6 git pull origin master
点击工程项目根目录右键 —> Git —> Repository —> Pull
#7 git clone https://gitee.com/liuqingzheng/test.git
导航栏VCS —> Get from Version Control —> 在url中填入地址即可
“””
1- 先浏览Gitee插件
2- 导航栏VCS —> Get from Version Control —>输入用户名以及密码以后就不用填写了 ##作用直接将本地的工程项目,push到远端,因此创建两个新的库房地址
3 -导航栏VCS —> Import to Version Control —> Share Project on Gitee — 填写远距连接上创建的库房的名字即可“””
8 -采用ssh协议连接远距源(子公司一般用这种)
1 采用https操作的,第一次递交的时候,输入用户名密码
2 企业里通常采用ssh
–公钥:配置在gitee
–私钥:留在你本地
3 生成公钥私钥
–在命令窗口下,位置无所谓执行
ssh–keygen –t rsa –C “[email protected]”
–会在C:\Users\Longge\.ssh\id_rsa生成公钥私钥
–公钥给别人,私钥不能泄露(非对称加密:对称加密)
#对称加密: 加密与解密使用同两个密码
#非对称加密: 加密采用的是公钥,解密采用的是私钥
4 在gitee中配置,以后本机操作我这个账号,就不用密码验证了
5 将远距库房的链接改成ssh
9 协作合作开发遇到难题如何化解?
1- 协作合作开发
1– 王承恩合作开发同两个工程项目,采用 git clone 将工程项目浏览到本地
# 难题一当你push 标识符的时候,递交不了?
(1)工程项目管理员分配给你权限(gitee中管理—》库房成员—》邀请成员)
(2)不能夸版递交,只能先拉到最新,再递交
# 难题二 再次出现标识符武装冲突的难题?合作开发人员往同两个文件统一行添加了不同的标识符
eg: <<<<<<< HEAD
你的标识符
=======
同事的标识符
>>>>>>>
将里面多余的部分删除,线下沟通后,重新递交
2.1- 线上分支分拆
1– 线上新建两个分支dev
2– 将dev拉去到本地
3– 在本地的dev分支中添加一行标识符,递交到版库
4– 标识符递交到远距的dev中
5– 执行远距的分支分拆操作
–pull request,指定从哪个分支分拆到哪个分支
–绿色表示没有武装冲突,能正常分拆
–普通和扁平化(变基,建议选择这个)
6– 这样就能保持本地dev、远距的dev、master数据完全一致
2.2- 线下分支分拆
1 本地dev1分支新增标识符,递交到版库
2 本地dev1分支分拆到master
–切到master
–git merge dev1 (没有武装冲突直接分拆)
–git push origin master (本地master递交到远端master)
3 切到dev1分支,再递交到远端
4 到此,本地分支分拆顺利完成,远端的dev1跟master完全一样,本地的dev1跟master也完全一样
3- 远距库房回滚
# 假如将远距库房,回到最初提交的位置,往远端递交数据时会报错?
git push origin master –f # 强制递交
10 知识拓展
# 1-git flow
–是一种建分支的方案
–预览分支,合作开发分支,bug分支,主分支,测试分支…
# 2-pull和fetch差别
git pull:拉标识符+分拆
git fetch:拉标识符,需要手动合进去
# 3-变基rebase
(1)普通的分拆 会将所有人的日志分拆在一起
(2)扁平化(变基) 不保存之前日志信息
# 4-git客户端操作
(1)官方浏览的两个(命令行下)
(2)pycharm编辑器
(3)sourcetree:美观,分支通过不同颜色线上,看着好看