git的使用方法与概念理解(上)
git的使用方法与概念理解(上)
前言
什么是git
版本控制系统git是一个免费开源的分布式版本控制系统,可以跟踪每个文件的变化,让项目成员之间的协作更加高效。与集中式版本控制系统不同,分布式版本控制系统每个人的电脑上都有一个完整的版本,即使中央服务器出现故障,也可以继续工作。掌握git是开发者必不可少的技能
why使用git
Git是一种分布式版本控制系统,通过记录文件变化并跟踪每个文件的修改,提高团队协作效率。集中式版本控制系统简单易用,但存在单点故障问题;而分布式版本控制系统则避免了这个问题,支持离线工作和强大的分支管理。
版本控制系统的作用是记录文件变化、提高团队协作效率,解决多人同时修改文件的管理问题。
集中式版本控制系统简单易用,但存在单点故障问题,导致所有人无法工作;分布式版本控制系统避免了单点故障,支持离线工作。
初步明确基本概念
- 版本控制:Git允许用户记录文件的历史版本,便于回溯和恢复。
- 仓库(Repository):Git项目的存储空间,可以是本地仓库或远程仓库。
- 提交(Commit):将文件的当前状态保存到版本历史中,每次提交都需要附带描述信息,说明更改内容。
- 分支(Branch):Git允许用户在不同的分支上进行开发,分支是独立的开发线,可以在完成后合并到主分支。
- 合并(Merge):将不同分支的更改合并到一个分支中,通常是将特性分支合并到主分支。
- 克隆(Clone):从远程仓库复制一个完整的仓库到本地。
- 推送(Push)和拉取(Pull):推送是将本地更改上传到远程仓库,拉取是从远程仓库获取最新的更改到本地。
##安装
git官网安装(详见官方文档)
补充:4种进入终端的方式(任选其一即可)
微唠叨一下,会的请直接过奥奥奥
- 右键->more->在终端中打开&Git Bash Here
- win+R然后cmd进入终端
- or在对应文件资源管理器下cmd进入终端or右键
- or 直接vscode中打开终端
git的使用方式
- 命令行
- 图形化界面(GUI)
- IDE插件、扩展
为了区分Linux操作系统中的命令,Git命令行均已git开头,后跟一个具体的命令
看到版本信息:
git-v
美化终端:
Windows:posh-Git
###设置姓名邮箱:
git config –global user.name “na me”(有空格就用引号,无空格不需要)
git config –global global user.email 具体邮箱(有空格就用引号,无空格不需要)
git config –global credential.helper store保存用户名和密码(不用每次输入了)
git config –global –list查看git配置信息
1 |
|
###创建仓库:
法一:电脑本地创建仓库
git init初始化仓库
1 |
|
**看看git被隐藏的part(勿删改):**git bash(windows)
具体目录
1 |
|
法二:从远程服务器上克隆一个已经存在的仓库
git clone +url
清空仓库:
\rm -rf .git
补充内容
1 |
|
四个区域:
工作区(Working Directory)
就是你在电脑里能实际看到的目录
暂存区(Stage/Index)
暂存区也叫索引,用来临时存放未提交的内容,一般在.git目录下的index中
本地仓库(Repository)
Git在本地的版本库,仓库信息存储在.git这个隐藏目录中
远程仓库(Remote Repository)
托管在远程服务器上的仓库。常用的有GitHub、GitLab、Gitee
Git的三种状态
已修改(Modified)
修改了但是未保存到暂存区的文件
已暂存(Staged)
修改后已经保存到暂存区的文件
已提交(Committed)
把暂存区的文件提交到本地仓库后的状态
添加和提交文件
查看仓库状态:
git status
将文件添加到暂存区,等待后续提交操作:
git add
1 |
|
通配符命令
git add *.txt
将所有txt结尾的文件添加到暂存区
文件夹参数(使用目录)
git add .
将当前文件夹下的所有文件都添加到暂存区里
注意相对路径
文件名
将文件从暂存区提交到仓库中:
git commit -m”提交你干什么的信息”
只会提交暂存区内容,工作区中文件不会提交
若不指定-m的参数,那么git commit命令会进入一个交互式的界面,默认会使用vim(强大的文本编辑器)来编辑提交信息
补充vim:
使用方向键来移动光标
使用i键进入编辑模式,输入提交信息
使用esc键回到命令模式
输入 :wq 保存退出,提交就完成了
查看仓库历史提交记录:
git log
id(commit后面的16进制字符串)、每次提交到作者、邮箱、提交时间、之前编写的注释信息等内容
git log –oneline(简洁版)
只能看到ID和提交的注释信息
git reset(作用:回退版本,并保留或丢弃工作区、暂存区内容)
hard硬撤回,慎用
若误用,则回溯(1.使用git reflog命令来查看一下操作的历史记录,找到误操作前的版本号,然后再使用git reset命令来回退到这个版本就可以了
mixed默认,可以不输
How回退到上一版本:
法一:git reset –(选) 版本ID
例如:git reset –soft 5af90b8
法二:git reset –(选) HEAD^
例如:git reset –hard HEAD^
git diff (查看差异)
feed:
type: atom
path: atom.xml
limit: 20
hub:
content:
content_limit:
content_limit_delim: ‘ ‘