GIt介绍
git 分布式版本控制工具 VS 集中式版本控制工具
Git概述
Git是一个免费开源的分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。
Git易于学习,占地面积小,性能快得惊人。它比Subversion、CVS、Perforce和ClearCase等SCM工具具有便宜的本地分支、方便的暂存区域和多个工作流等功能。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
1、服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)
2、每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)
代码托管中心是基于网络服务器的远程代码仓库,一般称之为远程库:
局域网:GitLab
互联网:Github、Gitee
git常用命令
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地仓库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m"日志信息"文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git log | 查看详细历史记录信息 |
git reset --hard 版本号 | 版本穿梭 |
linux命令篇
查看一个文件夹下的文件
ll
查看一个文件夹下的隐藏文件
ll -a
返回上一级文件夹
cd ..
vim中
yy
复制
p
粘贴
cat 文件名
查看某个文件
tail -n 1 文件名
查看某一个文件的最后一行
提交本地库
将暂存区的文件提交到本地库,形成一个历史版本
git commiit -m "日志信息" 文件名
$ git commit -m "first commit" hello2.txt
warning: in the working copy of 'hello2.txt', LF will be replaced by CRLF the next time Git touches it
[master (root-commit) b9011ce] first commit//b9011ce是版本号
1 file changed, 33 insertions(+)
create mode 100644 hello2.txt
$ git log
commit b9011ceb68781e4b0b26c212b5c0df627ab3208d (HEAD -> master)
//b9011ceb68781e4b0b26c212b5c0df627ab3208d完整版版本号
Author: liuyin <2454007383@qq.com>
Date: Tue Mar 28 21:46:06 2023 +0800
first commit
修改文件
vim 文件名 //修改这个文件
git里面是按照行来维护文件的:删掉修改之前的,新增修改之后的
版本穿梭
git reset --hard 版本号 //穿越回特定版本号的版本
git分支操作
命令名称 | 作用 |
---|---|
git branch 分支名 | 创建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上 |
分支是什么
分支的好处
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响
查看、创建分支
基本语法
git branch -v
实例
$ git branch -v
* master ef29f67 threed commit
Dell@DESKTOP-RPBIRT3 MINGW64 /d/Git-Space/git-demo (master)
$ git branch hot-fix //创建一个新的分支
Dell@DESKTOP-RPBIRT3 MINGW64 /d/Git-Space/git-demo (master)
$ git branch -v
hot-fix ef29f67 threed commit //刚创建的新分支,并将主分支master的内容复制了一份
* master ef29f67 threed commit
P16 01:59
切换、修改分支
基本语法
git checkout 分支名 //切换到某分支下
合并分支
git merge 分支名 //把指定的分支合并到当前分支上
产生冲突
冲突产生的原因:
合并分支的时候,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定使用哪个。必须人为决定新代码内容。
github操作
创建远程仓库别名
基本语法
git remote -v //查看当前所有远程地址别名
git remote add 别名 远程地址