Git笔记git常用指令及概念

Git仓库管理工具

作用:多人协同开发同一个项目;使用该工具可以很好滴管理我们的项目代码;

意义:

  • 方便多人协同开发
  • 方便版本控制

核心概念:

  • 1、工作区:初始化本地仓库的目录(包含隐藏文件夹.git)
  • 2、暂存区:不可见,用来临时存储工作区修改的文件;
  • 3、本地仓库区:不可见,永久在本地存储的代码;(一次提交为一个“版本”);本地仓库只是某一个开发者自己本地电脑上的仓库,自己使用;一般用于一个小阶段代码的保存;
  • 4、远程仓库:远程线上的仓库服务器(一般该仓库用户存储工程的所有代码,方便不同的开发者提交/下载代码)

学习使用Git命令

1、基础配置相关
# 1、安装git工具
sudo apt-get install git
# 2、查看git版本
git --version
# 3、新建本地仓库
git init # 会在当前目录下初始化.git隐藏文件
# 4、配置当前仓库的用户信息(只作用于当前仓库)
git config user.name '张三'
git config user.email '[email protected]'
2、工作区代码提交
# 1、查看工作区和暂存区同步状态
# 红色表示工作区文件有变化,未同步到暂存区。
# 绿色表示工作区有变化的文件已同步到暂存区了。
# 注意:可视化范围内的操作全都都是在工作区的;新建的login.py文件在工作区,需要手动添加到暂存区再提交到仓库区;
git status

# 2、提交工作区到暂存区
git add . # “.”代表把当前工作区所有修改的文件提交到暂存区
git add <指定文件> # 指定提交某一个文件的到暂存区

# 3、提交暂存区到本地仓库区
git commit -m '提示信息'

# 4、提交工作区到暂存区,再提交到本地仓库区(两步操作合二为一指令)
# 注意:在git版本为"git version 2.14.3 (Apple Git-98)"下可行
git commit -am '提示信息'
3、版本查看和回退
# 1、查看提交的版本
git log # 注意:此处如果发生版本回退,那么当前版本之后的提交记录无法显示
# 2、查看版本切换记录
git reflog # 注意:此命令会把你切换/提交的所有版本操作记录全部显示


# 3、版本回退操作
# 注意:下方笔记中的<版本>,可以是log查看显示的版本号如“fewwgrtegtwg”,也可以使用HEAD关键字;
# 关于HEAD关键字指定版本的说明:
# HEAD表示当前最新版本
# HEAD^表示当前最新版本的前一个版本
# HEAD^^表示当前最新版本的前两个版本,以此类推...
# HEAD~1表示当前最新版本的前一个版本
# HEAD~10表示当前最新版本的前10个版本,以此类推...

# 3.1 回退本地仓库版本,同步暂存区和工作区(同时回退三个区的代码) —— 程度为高
git reset --hard <版本>
# 3.2 回退本地仓库版本,同步暂存区,不同步工作区(工作区代码不变) —— 程度中等(默认行为)
git reset --mixed <版本>
# 3.3 回退本地仓库版本,不同步暂存区,不同步工作区 —— 程度最低
git --soft <版本>
4、撤销改变(其实就是回退代码,比如把暂存区代码回退到工作区,注意,工作区代码会被覆盖)
  • 只能撤销工作区和暂存区代码
  • 仓库区代码一经提交,永不丢失(删除.git和电脑磁盘损坏情况除外)
# 1、把暂存区文件回退到工作区
git checkout <文件>
# 2、把本地仓库区某一个版本的文件回退到暂存区;此处的版本可以使用HEAD关键字也可以直接使用版本号
git reset <版本> <文件>
5、远程仓库

此处我们使用第三方www.github.com作为远程仓库;同样国内也有www.gitee.com作为第三方代码仓库(自行摸索);

5.1 生成本地密钥和本地全局配置

# 1、第三方远程仓库创建参考课间

# 2、配置远程仓库SSH密钥,步骤
>>> ssh-keygen -t rsa -C "[email protected]" # 在本地电脑任目录下执行,一直按回车执行结束
>>> cd ~/.ssh # 进入公私钥默认保存目录,把该目录下的id_rsa.pub文件内容拷贝,然后在github中配置公钥

# 3、配置本地全局用户信息
>>> vim ~/.gitconfig # 本地电脑git全局配置文件(作用于所有本地仓库)
# 文件内容如下:
# [user]
#      email = [email protected]
#      name = xxx

5.2 使用SSH或者HTTPS克隆远程仓库到本地

# 使用HTTPS
git clone https://github.com/xxx.git # 具体地址以自己的为准

# 使用SSH(需要配置ssh公钥)
git clone git@github.com:xxx.git # 具体地址以自己的为准

5.3 本地仓库代码上传/下载远程

# --------上传/推送---------
git add . # 提交工作区代码到暂存区
git commit -m '提示信息' # 提交暂存区到本地仓库区
git push # 此处是上传本地仓库代码到远程仓库

# --------下载/拉取---------
git pull # 此处是下载远程仓库代码到本地仓库

你可能感兴趣的:(git)