https://www.cnblogs.com/wupeiqi/p/7295372.html 武
https://blog.csdn.net/yy2017220302028/article/details/103992812/ 网友简洁版
集中式的版本工具SVN
分布式的版本工具Git
一、
1下载安装git 软件
2、指定一个文件夹 在这个文件夹右键选择git bash here
3、输入 git init 初始化本地的代码仓库
4、git status 查看当前仓库状态 有哪些文件
5、如何管理文件?
git config --global user.name ‘xx' 指定用户名称
git config --global user.email 'xxx.com' 指定邮箱
1git add xx文件名称 管理该文件 (文件变绿)
2、git commit -m '描述'V1 提交版本
3、查看版本 git log 查看版本
我加新功能了(文件发生变化了)
然后:
git status 查看状态 发现文件变红了 显示modified 状态
git add . 把当前文件夹所有文件都提交管理(从工作区提交到缓存区)
git status 发现文件变绿了
git commit -m '描述V2' (缓存区提交到版本库)
git log 查看版本 发现有两个版本(在commit后面黄色字体的字符串是随机版本号)
二、
git branch dev 创建一个dev分支 + ====> git checkout -b dev 创建并切换到dev
git checkout dev 选择dev 分支 + ===>
pwd 查看当前文件 路径
ls == dir 查看文件夹下的文件
工作-提交 -完成,,
git checkout master 切换到master 分支
git merge dev 把dev 的内容 合并到现在的master分支
git checkout dev
如果出现了bug 再开一个BUG 分支
改完后最后用 git branch -d bug 删除bug 分支、
网络远程管理代码仓库
1、注册
2、+ New repository 起名 + 写描述 + 公开/私有 + 初始化readme + 本第仓库 新建(.gitignore 里面写上文件名,作用是把写上的文件名忽略)--add .gitignore + add a license (类似声明)
3、点击creating repository 创建完成
4、 code - HTTPS| SHH(远程地址)
到本地git 输入: git remote add origin https://xxxxxx 给本地厂库添加远程地址
git push -u origin master 主分支推上去
到新环境了。。
远程仓库的代码克隆下来(第一次)
git clone https://xxxxx
git banch 发现只有master 分支 其实dev 也有 没显示而已
直接 git checkout dev
然后继续开发。。。开发第一个模块完成
git status
git add. 提交
git commit -m '开发第一个模块完成' 提交版本
git checkout master
git merge dev 把dev 合并到master
git push origin dev 把本的dev代码 提交到远程
git push origin master 把本的master代码 提交到远程
回家又想写了(仓库比较新)
git pull origin master 把远程仓库的代码更新本地的代码(拉+合并)
rebase 变基 (本地合并!)
---把多个log 合并成一个log
git rebase -i 版本号
版本号就是那一串随机黄色的长的字符串
比如有V1 V2 V3 V4 ,我们git rebase -i V2版本号 那么 就是说 V2~V4 合并成 V2
也可以: git rebase -i Head~3 表示合并最后三个版本!
然后会出现一个界面 pick v2 的 把其他的版本的pick 改成s (差不多等于删除的意思) 然后:wq 保存退出 最后出现写描述的界面 就完事了/
冲突小软件 beyond compare
1、下载 安装 http://www.scootersoftware.com/download.php
2、配置
git config --local merge.tool bc3 # local 代表只对当前项目生效
git config --local mergetool.path '/usr/local/bin/bcomp' # 最后“xx”代表软件的安装路径
git config --local mergetool.keepBackup false
3、冲突的时候使用 git mergetool 打开这个软件
Git 多人协作开发
gitflow
1+new organization
2组织 名称 +email + 个人(*)/公司账户 + next
3 跳过成员设置
4、新建仓库
5 组织设置 权限之类的 settings
6添加成员 invite someone
git 速成!
一、下载代码篇
1、如果git 有别人的账号记得删除呀 (不然会提示没有权限啥的)
win: 凭据管理,找到账户删除.
mac: 钥匙串,找到账户删除.
2、获取代码
在url写入账户和密码
git clone https://用户名:密码@gitee.com/wupeiqi/s22pro.git
ssh方式
在自己本地生成一对公钥和私钥
打开 Git Bash,输入 ssh-keygen
默认在 ~/.ssh/ 下生成 id_rsa(私钥)和id_rsa.pub(公钥)
- 公钥 - 私钥 把公钥拷贝出来放到github/码云
复制SSH地址
最后在 git bash 达到免密效果 :git clone SSHXXX
二、创建虚拟环境篇(针对python 后端把)
为此项目专门创建一个虚拟环境,以后在此虚拟环境中运行此项目.
1、在自己电脑上安装virtualenv
pip3 install virtualenv
2、创建虚拟环境
进入自己想要创建的目录
virtualenv 环境名称
3、进入虚拟环境
win: activate
4、退出虚拟环境
win:deactivate
安装软件
例如:
(s22pro) D:> pip3 install django
那pycharm 创建虚拟环境就非常简单的。
5 初始化环境
pip3 install -r requirements.txt
requirements.txt放的是各种第三方库:
appdirs==1.4.3 backports.functools-lru-cache==1.5 beautifulsoup4==4.5.3 bs4==0.0.1 cycler==0.10.0 kiwisolver==1.0.1 lxml==3.7.3 matplotlib==2.2.0 numpy==1.14.1 pandas==0.22.0 pyparsing==2.2.0 python-dateutil==2.6.1 pytz==2018.3 six==1.11.0 virtualenv==15.1.0
小伙伴们在写代码的时候可能也需要生成一个requirement文件
pip freeze > requirements.txt
如果遇到有些包在自己电脑上装不上, 一般情况下是由系统导致.
程序是运行在linux上.
win是最麻烦 ( 百度搜 )
三、数据库等设置
数据非常重要,所以一般在开发时,不会让你连接正式数据.
正式库
host:1.1.1.1 port:xxx usre:1 pwd:2
测试库
host:1.1.1.1 port:xxx usre:1 pwd:2
修改一点代码,进行数据连接
四、
不要企图全部看完.
-
找程序的入口
-
url
-
main
if __name__ == '__main__': pass
-
-
调用关系/返回值
-
根目录: app.py / manage.py / start.py bin目录: app.py / manage.py / start.py script目录: app.py / manage.py / start.py
运行起来
python 启动文件
python 启动文件 参数
六 、一人开发场景篇
从公司把最新的拉下来
git pull master
至少有两个分支
master 正式环境
dev 开发环境
# 创建分支 git branch 分支名 # 查看所有分支 git brach # 切换分支 git checkout dev
在公司开发代码dev分支
开发... git add . # 将内容从工作目录添加到暂存区 git commit -m '提交记录' git push origin dev
回家加班
git pull origin dev 开发... git add . git commit -m '提交记录' git push origin dev
上线!
运维会去git中啦代码,并做部署处理.
git clone .....
一个开发遇到问题
合并时候,可能会产生冲突.
手动去解决冲突.
<<<<HEAD
XXX
=====
XXX
>>>>DEV
去掉他除了XX以外的东西 和重复的xx
再来git add.
git commit -m 'xx' 提交
(在dev
git merge master)
协同开发
假设项目组成员:
-
3个开发
-
-
、、、
git config --global user.name ‘xx'
git config --global user.email 'xxx.com'