赞
踩
掌握git的基本定义和
Git
是什么Git
版本控制系统是
一个分布式的系统,是
用来保存工程源代码历史状态(游戏存档)的命令行
工具版本管理
工具:说人话就是可以记录你敲代码的每一个环节(类似于玩游戏存档)多人开发
代码管理目前我们多人代码的时候,想把代码合并一起是利用最原始的复制粘贴操作。有了git之后,可以一键搞
异地开发
代码管理实际开发中,我们上班可能会用公司电脑敲代码。有时候回到家里用自己电脑偷偷加个班,以前的做法是备一个U盘,复制粘贴。有了git之后,直接一键搞定。
版本管理
版本回滚
:1. git是什么?
程序员必备的代码版本管理软件
掌握安装流程
全程默认点击即可,不用修改其他选项 (建议:不要安装在C盘之外的位置)
如果在电脑任意文件夹中点击右键,能够出现Git命令选项,则说明安装成功
mac系统
1.首先使用自带的终端,输入 : git --version , 然后回车如果看到版本号。说明已经安装
2.如果没有看到版本号,可以在终端输入: brew install git , 然后回车等待安装。 安装成功之后重复步骤1,检查是否安装成功
掌握配置用户信息的方式
安装完git这个软件之后,要做的第一件事情就是设置自己的 用户名
和 邮件地址
,这样我们就可以知道哪些人提交了什么代码。
git config --global user.email "你的码云账号邮箱"
git config --global user.name "你的码云用户名(可以随便写)"
注意:
git config --list --global
查看所有的全局配置
git config --list --global
查看指定的全局配置项
git config user.name
git config user.email
掌握git的基本工作流程
程序员比较高频的操作有9个。具体如下。
3.初始化仓库:git init
(只做一次)4.编码
5.添加文件信息: git add .
6.确认添加信息:git commit -m"描述信息"
第123步一个项目只需要一次,456步频繁使用,789步偶尔会用
如果是老项目(已经存在的项目),这步可以省略了。
进入这个文件夹, 点击右键选择Git Bash Here
打开git命令行工具
(小蓝窗)
在小蓝窗输入 git init
注意:
在这个目录下正常做开发:创建文件,修改文件内容....
例如: 添加 index.txt,并写入一些内容(任意内容均可)
命令:
git add .
注意:这个命令只是将文件信息添加到暂存区,还没有真正存档,需要使用git commit命令确认存档才可以
命令 git commit -m "说明"
以上流程是实际开发中主要使用流程
git add .
git commit -m "操作内容"
理解git三个区的作用,掌握git add commit的用法
生活
文件夹
在代码中的体现
掌握常见的查看提交信息的命令
如下两个命令用来查看提交记录
掌握查看文件状态的命令,能理解文件的4种状态
没有被托管的文件: 未跟踪
已被托管(曾经add,commit过)的文件:已修改,已暂存,已提交
# 查看仓库文件的状态 git status # 查看简略版信息 git status -s
改动文件之后:
新添加文件:
自己操作文件,能看到4种状态。
掌握代码恢复的方法
改动了代码,想放弃修改(此时并没有add)
git status
git restore 文件名
改动了代码,也add了,此时想放弃。
git reset HEAD 文件名
git checkout -- 文件名
回滚之后
git reset --hard 提交流水号
会导致log信息不全。改用 git reflog
了解git忽略文件的作用和配置
# 井号表示注释 # 忽略某个指定文件 password.txt # 忽略文件夹 css # 忽略文件夹下的某个文件 css/index.js # 忽略文件夹下某类文件 css/*.js
git status
远端(远程)仓库其实就是远程的git服务器,帮我们存储代码的服务器。
常见的远程仓库有哪些?
(1)github:免费。国外服务器,访问不稳定 。"全球最大的同性交友网站"
(2)码云:免费。国内服务器。
(3)gitlab:
(4)私服:公司自己机房的服务器(工作中遇到)
以上远程仓库使用流程几乎一致。
多人协作
leader(仓库的创建者,有最高的权限)
登录远程仓库,建立空项目;
给成员添加权限
成员
以码云为例,掌握远程仓库的使用
建立仓库
克隆到本地
git clone 仓库网址
git clone:克隆,将整个远程仓库克隆到本地
项目开始
的时候执行一次
它会在本地创建目录。
本地编写代码
git add . 与git commit -m“添加文件信息“
推送到远程
git push
拉取到本地
git pull
:拉取,用于多人开发。比如别人写的代码文件提交到远程仓库,通过这个命令就可以将远程仓库代码拉取到本地
每天
上班前执行一次
掌握多人开发的基本流程
1. 在pull之前要记得commit
合并:把两个版本的代码合在一起。
冲突:合并失败。
例如:
处理:
掌握远端仓库的SSH配置方式
远程仓库有两种访问方式,分别是HTTPS
与SSH
零配置
;但是每次访问仓库时,需要重复输入的账号和密码才能访问成功(现在不需要了)需要进行额外的配置
;但是配置成功后,每次访问仓库时,不需重复输入账号和密码。公司中也实际开发推荐使用SSH方式访问远程仓库加密通讯协议
SSH key 的作用:实现本地仓库和 Github 之间免登录的加密数据传输。
SSH key 的好处:免登录身份认证、数据加密传输。
SSH key 由两部分组成,分别是:
ssh-keygen -t rsa -C '邮箱'
点击头像 -> 设置 -> SSH 公钥 -> 粘贴
比如你的网站第一个版本已经做好发布了,功能也很稳定。现在准备新增一些功能开发2.0版本,问题是:如何去写代码?
如果在1.0的版本的基础上继续开发,那如何确保1.0的代码稳定呢? 程序员的做法:切分支。
图示:
分支的本质是:一个指向某个版本的链接。
|
|
|
git branch | 查看当前 | |
git branch 分支名 | 新建子分支 | 新建一个小号存档,把当前存档备份到小号中 |
git checkout 分支名 | 切换工作分支 | 切换当前的账号(换小号刷装备) |
git merge分支名 | 合并分支 | 把子分支代码合并到主分支(小号刷得装备移到大号上面) |
git branch -d 分支名 | 删除子分支(慎用) | 把某一个分支删除 |
命令:git branch
功能:查看所有的分支
说明:项目在初始时,就会有一个默认的分支,名字是:master。表示主分支。
新建分支
命令: git branch 分支名
功能:创建新分支
示例: git branch v2
图示:
切换分支
命令:git checkout 分支名
(创建分支之后,你的代码默认还是在主分支,需要切换工作分支到子分支)
功能:切换分支
示例:git checkout v2
图示:
注意:切换分支时,要先commit
在新的分支上进行编码
提交代码的时候,指针也在移动
// 改代码
git add .
git commit -m "提交3"
// 改代码
git add .
git commit -m "提交4"
合并分支
格式: git merge 分支名
注意:merge之前,必须commit
合并:假设当前在master分支,把v2分支的代码合并过来。合并的目的:是master中的代码和v2的代码是一样。让master上也具有v2的代码。
删除分支
格式:git branch -d 分支名
示例:git branch -d v2
注意:
理解出现冲突的原因,掌握解决冲突的方法
两次提交改了同一个地方的代码。
步骤:
新建文件: 1.txt
写入内容:1111
提交。
切换分支:dev
写入内容: 1111dev
提交
切换分支: master
写入内容:master111
提交
merge dev
现状
合并:把两个版本的代码合在一起。
冲突:合并失败。
例如:
处理:
推送与拉取分支代码到远程仓库
git remote show 仓库别名
git push -u origin 新分支名称
git push
即可。 如果是分支代码,你的git会自动给你提示,并且在下方告诉你推送这个分支正确的命名是什么。 到时候直接 CV 即可。git pull origin 分支名
|
|
|
git init | 初始化git仓库(类似于玩游戏新建一个存档文件) | 在当前文件夹中新建一个 .git隐藏文件夹 |
git add . | 添加文件信息(相当于游戏开始存档) | 把要提交的文件的信息添加到暂存区中( ) |
git commit -m"描述信息" | 确认添加信息 (确认存档) | 将暂存区中的文件提交到本地仓库中( ) |
git config --global user.email "you@example.com " | 设置邮箱 | 第一次使用git会让你输入邮箱 |
git config --global user.name "Your Name" | 设置用户名 | 第一次使用git会让你输入用户名 |
git reset --hard 版本号 |
(游戏回档) | 可以让你的文件回退到历史某一个版本 |
git log | 查看详细日志(存档日志) | 会显示你的每一次存档信息 |
git log --oneline | 查看简略版日志 | 快速查看版本号 |
git reflog | 查看所有日志(包含回滚日志) | 回档回错了会用到 |
git clone '远程仓库地址' | 克隆远程仓库 | 把远程仓库所有文件下载到本地 |
git push | 推送代码到远程仓库 | 把当前电脑已经commit过的代码上传到远程仓库 |
git push origin 分支名 | 推送指定分支 | 一般不用记,git push如果不行会提示这个命令 |
git pull | 拉取远程仓库到本地 | 把远程仓库上别人push的代码同步到自己的本地电脑(只有多人开发才生效) |
git pull origin 分支名 | 拉取远程仓库指定分支到本地 | |
git branch | 查看当前 | |
git branch 分支名 | 新建子分支 | 新建一个小号存档,把当前存档备份到小号中 |
git checkout 分支名 | 切换工作分支 | 切换当前的账号(换小号刷装备) |
git merge分支名 | 合并分支 | 把子分支代码合并到主分支(小号刷得装备移到大号上面) |
git branch -d 分支名 | 删除子分支(慎用) | 把某一个分支删除 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。