Git 版本管理工具

 

https://www.cnblogs.com/wupeiqi/p/7295372.html  武 

https://blog.csdn.net/yy2017220302028/article/details/103992812/   网友简洁版

集中式的版本工具SVN

分布式的版本工具Git

 

先介绍一下git三大分区(这玩意也得记住呀,面试会问。。T T)

 

 

  工作区(WORKING DIRECTORY): 直接编辑文件的地方,肉眼可见直接操作;

  暂存区(STAGIN AREA):数据(快照)暂时存放的地方;

  版本库(GIT DIRECTORT(RESPOSITORY)):存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程git仓库了。

git add就是将工作区的修改缓存在暂存区,git commit就是将暂存区的数据快照提交到本地库

这就是为什么 git commit 之前要先执行 git add 的原因,如果不先执行add,那么直接执行commit时不会把当前的修改内容提交到代码库中的。

一、

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'   指定邮箱

  1\git 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.txt

 

小伙伴们在写代码的时候可能也需要生成一个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
  • 注释 / 变量名 / 函数名

  • 调用关系/返回值

  • 至少看10个请求

五、运行程序

在公司的项目中,一定要先找到谁是主文件,去运行它.

 找主文件

根目录: 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个开发

  • 1个主管 ( code review )

  •  

 

、、、

git config --global user.name ‘xx'

git config --global user.email 'xxx.com'

posted @ 2020-10-18 19:40  蜗牛般庄  阅读(295)  评论(0编辑  收藏  举报
Title
页脚 HTML 代码