Git源代码管理

一. 简介

Git 是分布式管理.服务器和客户端都有版本控制能力,都能进行代码的提交、合并、…
Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库

工作区

  • 对于添加修改删除文件的操作,都发生在工作区中(红色文件)

暂存区

  • 暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分 (绿色)
  • 在暂存区的版本一旦提交就再也没有了

仓库区

  • 仓库区表示个人开发的一个小阶段的完成
  • 仓库区中记录的各版本是可以查看并回退的

二. Git单人本地仓库操作

  • 在桌面创建test文件夹,表示是工作项目,进入test
  • 使用 git init 新创建本地仓库.git
  • 配置个人信息
    git config user.name ‘张三’
    git config user.email ‘[email protected]
  • 新建py文件
  • 查看文件状态
    git status
  • 将工作区文件添加到暂存区
    git add .
  • 将暂存区文件提交到仓库区
    git commit -m ‘版本描述’
  • 查看历史版本
    git log git reflog
  • 回退版本
    回退到当前最新版本的前一个版本
    – git reset --hard HEAD^
    通过每个版本的版本号回退到指定版本
    – git reset --hard 版本号
  • 撤销修改
    撤销工作区代码
    – git checkout 文件名
    撤销暂存区代码
    – git reset HEAD 文件名 git checkout 文件名

三. 创建远程仓库

1.登陆注册Github
2.创建仓库,编辑仓库信息
3.仓库创建完成
4.查看复制仓库地址HTTPS

配置SSH

1.配置SSH公钥入口
2.修改电脑git配置: 修改~/.gitconfig文件为:Github注册邮箱和用户名
email = [email protected]
name = zhangsan
3.生成SSH公钥 ssh-keygen -t rsa -C “邮箱地址”
4.复制~/.ssh文件中的rsa.pub公钥添加SSH到github cd .ssh cat id_rsa.pub

克隆推送项目

1.克隆远程仓库
– git clone Github的https地址或者ssh地址
2.配置身份信息
– git config user.name ‘经理’
– git config user.email ‘[email protected]
3.创建项目
– 新建py文件
4.推送项目到远程仓库

  • git add .
  • git commit -m ‘立项’
  • git push
    – push设置记住密码: git config --global credential.helper store

多人协同开发及代码冲突

代码冲突
提示:多人协同开发时,避免不了会出现代码冲突的情况
原因:多人同时修改了同一个文件
危害:会影响正常的开发进度
注意:一旦出现代码冲突,必须先解决再做后续开发

解决冲突

  • 原则:谁冲突谁解决,并且一定要协商解决
  • 方案:保留所有代码 或者 保留某一人代码
  • 解决完冲突代码后,依然需要git add、commit、push

减少冲突的操作方式

  • 养成良好的操作习惯,先pull在修改,修改完立即commitpush
  • 一定要确保自己正在修改的文件是最新版本的
  • 各自开发各自的模块
  • 如果要修改公共文件,一定要先确认有没有人正在修改
  • 下班前一定要提交代码,上班第一件事拉取最新代码
  • 一定不要擅自修改同事的代码

标签和分支

  • 标签

当某一个大版本完成之后,需要打一个标签
作用: -记录大版本
-备份大版本代码

1.进入本地仓库
git tag -a 标签名 -m ‘标签描述’
例: git tag -a v1.0 -m ‘version 1.0’
2.推送标签到远程仓库
git push origin 标签名
例: push origin v1.0
3.进入远程仓库查看打标签结果

  • 分支

作用:

  • 区分生产环境代码以及开发环境代码
  • 研究新的功能或者攻关难题
  • 解决线上bug

特点:

  • 项目开发中公用分支包括master、dev
  • 分支master是默认分支,用于发布,当需要发布时将dev分支合并到master分支
  • 分支dev是用于开发的分支,开发完阶段性的代码后,需要合并到master分支

创建分支步骤:
1.查看当前分支, 创建并切换到dev分支
git branch
git checkout -b dev

2.将分支推送到远程
git push -u origin dev

3.修改dev分支源代码:
git add、commit、push

4.dev分支合并到master分支
- 先切换到主分支:git checkout master
- dev分支合并到master分支: git merge dev

5.合并分支默认在本地完成,合并后直接推送即可
git push

四. 如何参与到别人建立的项目中

  1. 添加ssh账户
  1. 修改某台机器的git配置
    修改为注册github时的邮箱,填写用户名,要求组员的用户名不能重复
    vi .gitconfig
  2. 删除~/.ssh目录存储的旧的密钥
    rm -r .ssh
  3. 生成密钥
    ssh-keygen -t rsa -C “Github账号,可以是用户名,也可以是邮箱地址”
    也可以不用生成密钥, 直接把你自己的github邮箱号或用户名给项目创建人, 项目创建人可以再github项目的setting中的Collaborators直接邀请你就可以了
  4. 查看公钥内容,复制此内容
    将复制的公钥发给项目经理,等项目经理在github上添加后,会将项目地址下发,然后就可以参与到项目开发中进行后续操作
    cat id_rsa.pub
  1. 本地克隆

git clone 项目地址
git checout dev

  1. 同步分支
  1. 创建自己的分支
    git checkout -b worker01
  2. 将本地分支推送到服务器
    git push origin worker01
  3. 将本地分支跟踪服务器分支
    git branch --set-upstream-to=origin/分支名称 分支名称

五. 日常工作Git合作开发

上班
1.切换到dev分支
2.git pull 拉取最新的代码
3.切换到自己的独立开发分支
4.git merge dev, 将dev分支的最新代码合并到自己的独立开发分支

下班
1.在自己的独立开发分支,git add, commit, push
2.如果今天需要合并到dev:
git checkout dev
git merge 个人分支
git add, commit, push
一般不会天天需要合并自己的分支到dev,通常是完成一个完整的功能后再合并

猜你喜欢

转载自blog.csdn.net/weixin_44857400/article/details/107436519