Git代码版本控制
一 Git概述
git是一个免费的、开源的分布式版本控制系统,可以快速高效的处理从小型到大型的各种项目。
1.1 为什么需要版本控制
这是从个人开发过渡到团队协作。每个人负责一个分支代码的开发,最终能合并到一起。
1.2 集中式版本控制和分布式版本控制
集中式版本控制主要是共用一台服务器,然后每个人都提交一次版本。
分布式版本控制就是每个人都能在自己的电脑里进行版本控制v1版、v2版、v3版等。最新的版本集中在远程库中,程序员每天的工作内容就是从远程库中下载、再推送到远程库中。
二 Git原理
基本原理:工作区--->暂存区--->本地库--->远程库
三 常用命令
常用命令列表:
命令名称 | 作用 |
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地仓库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m "日志信息" 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
3.1 设置用户签名
这两个命令需要用一下,但不需要记住
需要设置,否则提交代码的时候会报错。签名的作用是区分不同操作者的身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
git首次安装必须设置一下用户签名,否则无法提交代码。
3.2 初始化本地库
git init 初始化本地库,就可以让git获取这个本地文件的管理权
3.3 常见Linux命令
在目录里面右键git bash here,就能直接进入命令操作(这里指windows操作系统,使用mac的同学要区分)
ll -a命令就能够查看所有隐藏文件
mac 使用ls 查看
要进入.git/目录就 cd .git/ ,返回上一级就 cd ..
在vim编辑器里面,yy是复制,p是粘贴
cat 即查看
git和linux是同一个爸爸,所以你会发现git命令和linux有很多相似的地方
4 git status
查看本地库状态
5 git add 添加暂存区
git add . 就表示所有文件都添加
git add 文件名 代表添加这个 ‘文件名’ 的文件进入缓存区
git rm --cached 文件名 代表从缓存区删除该文件,工作区不会删除
创建新的文件后再使用 git status查看本地库状态,发现
6 git commit -m "xx"
就表示提交所有代码
git commit -m "日志信息" 文件名 将暂存区的文件提交到本地库 形成历史版本
7 git reflog 查看精简版本信息
8 git log 查看详细版本信息
9 版本穿梭
先用git reflog查看版本号,再git reset --hard 版本号 即回到该版本号的代码版本
此时可以看到 cat 1.c 即为第一个版本
四 Git 分支操作
4.1 什么是分支
简单理解为副本,一个分支就是一个单独的副本
git branch 分支名 --->创建分支
git branch -v --->查看分支
git checkout 分支名 --->切换分支
git merge 把指定的分支合并到当前分支
五 团队协作
1 不同团队协作
首先fork,从a至b。由b至a,pull request->审核->merge
2 同一团队协作
推送到远程仓库 git push
拉取 git pull
mkdir 新建文件夹
克隆 git clone [url]
六 创建远程
首先准备几个不同账号和邮箱,在GitHub网站中+符号中选择 New repository
另外:
代码使用git操作,文件颜色的变化:
1.若文件显示红色,表示文件未add到git进行管理
2.若文件显示绿色,表示文件已经交给git管理,但从未上传到远程仓库中
3.若文件显示蓝色,表示文件已经上传过远程仓库,且此时本地文件与远程仓库文件不一致
4.若文件显示白色,表示文件与远程仓库完全一致