4_Git
创始人
2024-01-29 06:18:42
0

一、Git学习网站

  • 廖雪峰大神 Git 教程
  • Git-flow 包教不包会
  • 阮一峰-常用 Git 命令清单

二、Git简介

1.Git是什么

分布式版本控制系统

2.版本控制

3.集中式 vs 分布式

4.Git简史

5.工作区、暂存区、版本库

  • 流程

    工作区:写代码 --> git add --> 暂存区 --> git commit --> 版本库

  • 工作区: 就是我们能看见的写代码的地方
    • git管理的代码: 默认都是git管理对象
    • git忽略的代码设置,如下操作:
      1. 项目的根目录新建一个文件: .gitignore
      2. 哪些内容要忽略,就在里面书写路径,我要忽略node_modules文件夹,就在里面写上node_modules
  • 暂存区: 就是形成一个历史版本
  • 本地仓库: 历史版本的存放区域

6.远程代码托管平台

  • GitHub
  • Gitee - 基于 Git 的代码托管和研发协作平台
  • gitlab

7.下载安装

  • 下载

    • 官网下载地址

    • 国内淘宝镜像下载地址

  • 安装

    双击, 一直下一步

  • 检测

    • 在任意位置打开命令行

      git --version
      
    • 在任意位置点击鼠标右键,出现: Git Bash Here

    • 就表示安装成功!

三、Git命令行操作

1.本地仓库初始化

git init

2.配置用户信息

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

3.基本命令操作

  1. 状态查看

    git status
    
  2. 添加到暂存区

    git add .
    
  3. 提交到本地仓库

    git commit -m "这次提交的日志"
    
  4. 查看历史记录

    git log
    
  5. 版本回退与前进

    • 查看所有历史版本

      git reflog
      
    • 恢复指定版本

      git reset --hard 版本号
      
  6. 撤销修改

    • 工作区撤销修改

      git checkout -- 文件名
      
    • 暂存区修改

      git reset HEAD 文件名
      

4.分支操作

4.1 查看分支

  • 查看本地仓库的分支情况

    git branch
    
  • 查看远程仓库的分支情况

    git branch -r
    
  • 查看本地与远程的所有分支情况

    git branch -a
    

    结果中带*的表示当前分支

4.2 创建分支

  • 创建分支

    git branch 分支名
    
  • 创建分支,并切换到新创建的这个分支上

    git checkout -b 分支名
    

4.3 切换分支

git checkout 分支名

注意:本地如果不存在这个分支,则会把远程的给弄下来,如果远程也没有,就报错

4.4 合并分支

git merge 要合并的分支名称 -m "新版本的描述"

4.5 删除分支

git branch -d 分支名

5.远程分支(代码托管平台)

  1. 创建远程库

  2. 远程库与本地关联

    git remote add 别名(默认origin) 远程仓库地址
    
  3. 查看本地库与远程库的关联信息

    git remote -v
    
  4. 克隆远程库

    git clone 远程仓库地址
    
  5. 上传远程分支

    git push -u 远程仓库名 本地分支名:远程分支名
    
  6. 删除远程分支

    git push 远程仓库名 --delete 要删除的分支名
    
  7. 拉取远程分支

    git fetch 远程仓库名 远程分支名:本地分支名
    
  8. 合并远程分支

    git merge 本地分支名 -m 新版本的描述
    
  9. 拉取远程分支与本地当前分支合并

    git pull 远程仓库名 远程分支名
    
  10. 拉取远程分支与本地某个分支合并

    git pull 远程仓库名 远程分支名:本地分支名
    
  11. 团队间协作开发

  12. 跨团队协作开发

    1. 将这个开源的项目 fork 一份到我的远程仓库
    2. clone 我 fork 的这个项目到本地
    3. 写好代码推送到自己的远程
    4. 创建 pull request
  13. ssh免登录

    1. 需要先查看本地电脑是否有 ssh 相关的东西 (用户目录下是否有 .ssh 的文件夹)。有就先删除吧。

    2. 创建 ssh key

      ssh-keygen -t rsa -C "邮箱地址"
      
    3. 接着在 用户目录下找到 .ssh 文件夹中的 id_rsa.pub 这个文件

    4. 复制 id_rsa.pub 中的内容

    5. 去远程托管平台上添加 ssh

      1 这时克隆项目时就可以直接选择使用 ssh 的方式

      2 先将本地的https的连接方式给删除,换成 ssh 的连接方式

四、Git工作流

1.集中式

大家全部都在一个分支上写代码master

2.git flow

不同分支用来干不同的操作

3.forking

fork pull request 这套操作

五、Git基本操作(工作场景)

  1. 接到新的需求要你开发。

  2. 基于主干分支(master、main、test)创建一个需求分支 (store-xxx)

    a. 远程平台上创建
    b. 本地创建

  3. 拆分任务
    a. 任务1:静态页面编写 2h
    b. 任务2:逻辑联调 2h

  4. 编写任务1

  5. 提交任务1 git commit -m ‘任务1 done’

  6. 编写任务2

  7. 提交任务2 git commit -m ‘任务2 done’

  8. 晚上下班前,都提交上去 git push

  9. 第二天,继续做需求,还是使用 store-xxx 这个分支
    a. 如果这个需求,就你一个人完成,也就是说 这个 store-xxx 分支,是你一个人玩得,就不用更新
    b. 如果这个需求,是多个人完成,大家都在 store-xxx 分支上编写代码的话,需要 git pull 一下。

  10. 编写任务5

  11. 提交任务5 git commit -m ‘任务5 done’

  12. 提交合并请求。

六、Git分支合并操作(工作场景)

1.本地操作合并

  1. 收到同事通知,要将 A 分支 合并到 Master 分支
  2. git status查看当前工作空间是否干净。干净则往下操作,否则先处理干净
  3. git checkout master切换到需要被合并的合并上 ,Master分支
  4. git pull拉取一下最新的代码
  5. git merge origin/A合并分支,将 A 分支合并到当前所在分支
  6. 可能会出现冲突,如果有冲突就解决
    a.img
    b. git status查看冲突的文件是什么
    c. 找同事,一起来看这个冲突该如何解决
    d. 解决完之后,需要重新add commit push
  7. git push推送到远程。
  8. git branch -d A删除分支。同时通知同事,合并完成,你可以删除本地的分支了。

master a - b
feature-loginlogin a - b - c
wq a - b - d

feature-loginlogin => master
master a - b - c

wq => master a - b - c - d

2.远程操作合并

pull requests

七、合并分支时解决冲突

  1. 原因

    两个分支在同一个代码上的某一个位置做了修改,这些 git 合并时不知道该听那个分支的。

  2. 解决方案

    1. 找到有冲突的文件
    2. 删除这个文件中的特殊标记
    3. 找到相应的开发人员去商量到底如何处理这个情况,用你的,还是用我的,或者两个都保留
    4. git add
    5. git commit

相关内容

热门资讯

2018小本创业怎么选项目呢 ... 1.优秀的、远大理想的、有匪气的创始人。这是基点,否则其他都是零。创业失败大多情况下不是商业模式不够...
2018小本创业项目排行榜 2... 2018年有前景的创业项目第二名代理快递随着互联网经济的发展,中国的地域广博,光是县级城市就有好几千...
小本创业生意2020好项目 小... 小本是指没有足够的资金投资创业的人通过有限或微弱的资金来达成创业的行为。小本并非不可创业,因为资金少...
投资5万能开什么店 现在开什么... 今年生意不好做,能稳妥赚钱的生意途径还真不多。所以说,当前在生意项目的选择上要非常慎重,搞不好就会鸡...
没钱没经验该如何创业?这5个小... 这个世界上没有谁是应该一辈子贫穷的,你可以穷一时,却不会穷一世。创业就是一个让你摆脱贫穷,翻身成为有...
最适合年轻人的15个小本创业项... 网上开店IT行业现在不少学生创业从电子商务起步,好处是成本低---网上开店是免费的;门槛低---稍有...
淘宝网开店淘宝网开店的小本创业... 新店新手最好做虚拟的(最基本的投资只有300元)因为实物的要找货源进货,卖不出货就造成压货,投资有风...
县城小本创业项目做什么 县城小... 随着经济社会不断向前发展,互联网技术也得到了迅速提升,技术创新为互联网革新带来了契机,创业活动尤其是...
适合穷人的小我想创业有小本创业... 很多人都会觉得创业是富人该想该做的事情,穷人是没有条件和机会创业的,可是事实上现在创业不是光靠资本就...
09年小本创业好项目 09年小... 最佳答案cbu-的答复:尽量减少投入太多资金,以回本快为第一原则,金融危机下尽量选择和百姓的生活相关...