学服务器端(git)的第1天

day01 git

1.第三阶段课程简介

  • 课程介绍

    三阶段:服务端开发 
    课程时长:20天
  • 学习路线

    • ==git==

    • ==ECMAScript6.0==

    • ==nodejs==

    • Express

    • mysql

    • ==ajax+promise== 项目

    • websocket:双向数据通信

    • webpack:打包

2.git介绍

2.1 git能做什么

  • 作用:团队开发中使用,不是写代码的软件,是一个管理代码的工具

  • 好处:优雅,快速,高效管理版本代码

2.2 主要作用(代码管理工具,管理代码版本)

  • 版本的概念

    (1)初指一种书籍经过多次传抄、刻印或以其他方式而形成的各种不同本子。随着时代的发展,版本也开始应用于影视、软件等事物上,形容事物相同但介绍方法等不同的两个事物。

    (2)软件版本编号制定是指为软件设置版本号码的方式。通常,版本号码会以数字订定。

    (3)软件名称后面经常有一些英文和数字,如:CTS3.3.5、QQ 2021 Beta,这些都是软件的版本标志,通过它,我们可以对软件的类型有所了解。

    各版本的时间轴演变,每一次版本的改变,都会有功能的改变

  • 版本管理

    • 早期管理方式

      问题:传统管理方式造成了本地电脑上有很多相同的文件,不容易维护,造成了非常混乱的局面。

    • 版本控制软件

      • 常见的版本控制软件:git svn

      • 好处:使用版本控制以后,只需在本地保存一份,各个版本由版本控制软件来进行管理

3.git的简介

3.1 git定义

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。

3.2 git特点

  • 管理版本代码

  • 项目越大,越复杂,git优势越明显

3.3 git三个区域

  • 工作区

写代码

  • 暂存区

某一个功能完成了,就可以存储在暂存区

  • 仓库区

下班,页面完成了,功能完成了,代码提交到仓库

4.git的使用

4.1 下载安装

4.2 步骤

  • 初始化项目

    • 创建项目根文件夹(初始化一次就可以)

    • 当前项目文件中右击 -- Git Bash Here

    • 命令:git init ---- >在当前文件夹中生成一个.git的文件

    • 注意:显示隐藏文件

  • 编写代码(工作区,新建一个html文件)

  • 把工作区的内容添加到暂存区

    • 命令:git add 文件名

  • 把暂存区的内容添加到仓库区(提交)

    • 命令:git commit -m 提交说明

4.3 git 命令

  • init : 初始化

    git init 
  • add :把文件存储到暂存区

    git add 文件名
    git add .    : .代表文件夹下所有的文件和文件夹
  • commit :将暂存区数据提交到仓库,并且生成一个版本号

    git commit -m 提交说明

  • status:查看仓库中文件的状态(了解)

    git status
  • log : 打印版本信息

    git log : 以完整的形式输出
    git log --oneline : 以简短的形式输出
  • reset:版本回退(改需求,新版本有问题)

    git reset --hard 版本号(回退到的版本号)
  • reflog:显示所有的版本信息

    git reflog : 以完整的形式输出
    git reflog --oneline : 以简短的形式输出

4.4 文件忽略

  • 对于不需要进行版本管理的文件,可以使用文件忽略(一些公共库代码,node_modules)

  • 文件忽略步骤

    • 创建一个配置文件.gitignore(需要和.git同级)

    • 在文件中配置忽略信息

      • /js/ : 忽略整个文件夹

      • *.txt:忽略所有.txt文件

      • /js/a.txt :忽略某个具体的文件

4.5 分支

4.5.1 分支介绍

  • 介绍:

    git版本控制系统支持分支操作。使用分支意味着可以从开发主线上分离开来,然后在不影响主线的同时继续工作。默认只有一个分支为master主分支。

  • 什么是主分支?

    在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支

  • 主分支的问题:

    在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验和效率,建议每个开发者都基于分支进行项目功能的开发

  • 分支解决的问题:

    用来保存和记录整个项目已完成的功能代码。但是不允许程序员直接在master 分支上修改代码,这样做的风险太高,容易导致整个项目崩溃

    协议上规定:不应该在master主分支上维护代码 。应该在主分支的基础上,创建分支然后维护代码

  • 补充说明:

    在分支上的提交操作和主分支的提交操作命令一样。

4.5.2 分支相关命令

  • branch:查看当前git管理的项目中有哪些分支

    git branch

    注意:一定要初始化项目,提交一次以后就可以看到主分支

  • branch:创建分支

    git branch 分支名
    git branch deva               dev---开发软件
  • checkout:切换分支

    git checkout 分支名

    切换到对应的分支上进行开发维护,第一次从主分支master切换到某一个分支的时候,会将主分支的提交记录复制到对应的分支上

  • merge:合并分支

    git merge 分支名

    注意:一般在主分支上进行合并

4.5.3 冲突解决

  • 什么时候会冲突:

    两个不同的分支,对同一个文件进行不同的修改,git合并的是好,无法判断合并

  • 手动解决

    • 两份都要,<<end 删除

    • 只要一份,衡量删那份

    • 在master上再提交一次

5.远程仓库

  • 介绍

    Git 命令都是在本地执行,如果想通过 Git 分享你的代码或者与其他开发人员合作。 就需要将文件放到一台其他开发人员能够连接的服务器上。这就是远程仓库的作用。

    目的:把本地的仓库文件上传到远程仓库。

  • 远程仓库分类:

    • github:github是一个基于git的代码托管平台,在国外,速度比较慢,在大陆的使用很受影响

    • gitee:github是一个基于git的代码托管平台,在国内较多(码云)

    • 公司自己部署:了解即可,不是前端人员部署的,使用步骤和命令都一样

5.1 操作流程

5.2 git 命令

  • clone :克隆(用一次,项目第一次下载的时候使用)

    git clone 远程仓库地址
  • pull:拉取(下载远程仓库中的更新文件)

    git pull 远程仓库地址
  • push:提交(将本地文件提交到远程仓库)

    git push 远程仓库地址 master
    git push 别名 master
    git push -u 别名 master
    git push
  • remote : 起别名 (给远程仓库地址起别名)

    git remote add 别名 远程仓库地址
  • remote -v : 查看本地仓库别名是否跟远程仓库进行关联

    git remote -v

5.3 新员工进公司操作流程

  • 下载git,配置全局用户信息 (可能不需要)

  • 下载公司项目代码(git clone)

  • 写代码,改代码(add commit)

  • 将代码提交到远程仓库

  • 早上--pull 下班:push

6.ssh访问

  • 简介:传统方式访问远程仓库的问题:传统方式本地和远程传输,需重复输入gitee的账号和密码,较为繁琐。

  • SSH好处:免登录身份认证、数据加密传输。而SSH实现本地仓库和gitee之间免登录的加密数据传输。更重要的原因是团队协同开发更加方便。

  • SSH组成: (1)id_rsa 私钥文件,存放于开发者的电脑中 (2)id_rsa.pub 公钥文件 。

  • 生成密钥步骤:1、打开Git Bash 2、执行相关命令 3、连续敲击3 次回车

相关命令

ssh-keygen

ssh-keygen -t rsa -b 4096 -C ""
​
ssh-keygen -t rsa -b 4096 -C "1583222344@qq.com"

  • 查看生成的密钥

  • 将公钥添加到远程仓库中

7.git和svn的区别

SVN:SVN是一个开放源代码的集中式版本控制系统,用于多个人共同开发同一个项目,实现共享资源。集中式版本控制系统:版本库是集中存放在中央服务器,开发者需要先从中央服务器获取最新的版本文件,然后开始干活,最后再把自己修改的文件推送到中央服务器。

Git:Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。分布式版本控制系统:没有“中央服务器”,每个人的电脑上都是一个完整的版本库,联网开发不是必须的。但两两开发者之间肯定不会以qq或U盘形式传送,也有一台充当“中央服务器”的电脑(gitee和github)。此服务器的作用仅是用来方便“交换”各开发之间的修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要将最新的代码拉取到本地,可以使用以下几种方法。第一种方法是直接使用命令行,通过git pull命令来拉取并合并最新的代码。例如,使用git pull origin master可以拉取远端origin/master分支并合并到当前分支,使用git pull origin test可以拉取远端origin/test分支并合并到当前分支。这种方法不推荐,因为无法提前处理冲突。\[1\]第二种方法是使用git fetch和merge命令,需要额外的本地分支。首先使用git fetch命令将代码获取到某个文件夹,然后在文件夹中使用Git Bash Here右键选择Git Bash。接着可以使用git clone命令获取某个分支的代码,例如git clone -b develop xxx。提交本地代码到远程服务器可以使用git pull先获取代码,然后使用git status查看状态,接着使用git add添加要提交的代码地址,再使用git commit -m "备注提交代码的功能"进行提交,最后使用git push将代码提交到远程服务器。\[2\]还有一种方法是使用git stash命令来获取最新代码,如果本地已经修改了代码,可以先使用git stash命令将修改的代码暂存起来,然后使用git pull -r命令获取最新代码,最后使用git stash pop命令将暂存的代码应用到最新的代码上。\[3\] #### 引用[.reference_title] - *1* [【git系列】从远端仓库获取最新代码合并到本地分支里](https://blog.csdn.net/hwxiaozhi/article/details/126419450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [git拉取代码到本地](https://blog.csdn.net/qq_26780317/article/details/120047232)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值