git操作指南

介绍

git是一个分布式版本控制软件,最初由Linus创作,于2005年以GPL许可协议发布;最初目的是为了更好地管理Linux内核开发而设计,现在已经称为很多公司版本管理的必备工具

官网:https://git-scm.com/

安装git

以Ubuntu20.04系统为例

 sudo apt install git

工作区、暂存区、远程仓库

工作区:当前编辑代码所在的区域,这个区域可以自由编辑

暂存区:介于工作和远程仓库的一个中间缓冲区域,工作区代码commit了以后存放暂存区

远程仓库:服务端存放代码的仓库,暂存区的代码push了以后存放远程仓库

初始化工作区

 git init

拉取代码

从远程仓库拉取代码到本地分支

 git pull origin develop # 拉取远程develop分支
 git pull                # 拉取更新远程所有分支

提交代码

 git commit -m "提交日志信息" -a

推送代码

 git push origin develop     # 提交develop分支到远程仓库
 git push --all              # 提交所有分支到远程仓库

合并代码

合并远程master分支

 git merge origin master --no-ff

查看分支

 git branch
 git branch -vv

拉取远程分支信息

 git fetch --all

克隆代码

格式:git clone 项目地址 -b 分支名

 git clone --recursive https://gitlab.kitware.com/vtk/vtk.git VTK    # --recursive递归地拉取各个子项目工程代码

查看本地分支指向

 git branch -vv

检出代码

 git checkout -b develop origin/develop      # 检出远程develop分支到本地

查看配置

 git config --list

配置用户名

 git config --global user.name hywing    # 全局有效
 git config --system user.name hywing    # 系统有效
 git config --local user.name hywing     # 本地工程有效

配置邮箱

global代表全局的git配置,system代表系统的git配置,local代表当前工程的git配置

 git config --global user.email 12345678@qq.com
 git config --system user.email 12345678@qq.com
 git config --local user.email 12345678@qq.com

比对差异

对比a和b文件的差异

 git diff a b

恢复被修改过的文件

 git checkout -- filename

查看本地修改

 git status
 git status -s

查看指定文件的改动记录

 git blame 文件名

回退版本

 # 撤销工作区所有改动,回退至某个版本
 git reset --hard 提交哈希id
 # 仅移动head指针,不改变工作区和暂存区
 git reset --soft 提交哈希id
 # 重置暂存区
 git reset --mixed 提交哈希id

最近文件改动查看

 git show

添加提交文件到暂存区

 git add a.c b.c

打标签

 git tag -a v1.0         # 给当前分支打标签
 git push --tags         # 提交打标签到远程分支        

查看修改日志信息

 git log --oneline

查看仓库地址

 git remote -v

查看本地修改过的文件列表

 git diff --name-only HEAD
阅读剩余
THE END