你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

git 版本管理工具命令详解

2021/11/10 16:26:30

下载git工具

下载链接: 传送门
windows 可直接打开一直next安装即可。
mac 可以直接到appstore 中下载xcode即可。
安装完成之后输入以下命令检测是否安装成功

git --version

git 管理模式

git具有四个工作区域,分别为工作目录、暂存区、本地仓库、远程仓库(github、gitlab…)
在这里插入图片描述
工作目录就是我们本地需要写代码的地方,暂存区作为工作区和本地仓库之间的一个媒介,我们需要将工作目录的代码进行提交到本地仓库或者远程仓库时,需要先添加到暂存区。

git初始化本地库

首先我们先创建一个目录作为本地仓库

# mkdir  文件名
mkdir test  //创建一个名为test的仓库。
cd ./test //切换目录到此仓库中和
git init //初始化本地仓库

这时候我们就已经初始化好了,系统在test目录中会去创建一个.git的隐藏目录,我们可以输入一下命令查看

ls -lA

设置git签名

签名形式

  • 用户名
  • 邮箱

主要作用

区分不同开发人员的身份,这里的账号和邮箱和远程登录代码托管平台的没有任何关系。

签名级别

  • 系统级别:在全局有效。
  • 项目级别:仅在此项目中有效。
    项目级别签名优先级大于系统级别系统级别优先级,当二者都存在时,会优先采用项目级别的签名。二者都不存在时是不允许的,必须要设置一个。

项目级别签名设置

设置命令

git config user.name 用户名 //设置签名用户名
git config user.email 邮箱 //设置签名邮箱

命令例子

git config user.name hello
git config user.name 1234@qq.com

查看当前项目签名

cat .git/config //其实用户签名主要就是存在 .git/config文件中

全局签名设置

和设置项目的使用方法一样,就是多了一个–global

git config --global user.name 用户名 //设置签名用户名
git config --global user.email 邮箱 //设置签名邮箱

查看全局签名

cat .gitconfig

提交文件到暂存区

git add 文件名

撤销已将提交到暂存区的文件

git rm --cached 文件名

提交暂存区的文件到本地仓库

git commit -m "提交描述" [提交文件名,不指定时提交全部暂存区的文件]

将修改(已追踪)的文件直接提交到本地仓库

git commit -m "提交描述" -a

查看仓库的提交历史

git log #最详细的显示
git log --pretty=oneline #显示全部hash值
git log --online #一行显示一个版本信息
以上命令指挥显示当前版本记录之后的版本

git reflog #显示head回退步长以及提交信息
显示全部版本记录,包括提交以及回退所有日志记录

版本回退、版本切换

基于索引值进行版本切换

git reset --hard 索引值 #索引值可以由 git reflog 提供

基于指针进行版本切换 ,只能后退

git reset --hard HEAD[^|~n]

git 版本切换模式

--soft 仅在本地库移动指针,工作区和暂存区不会进行操作。
--mixed 暂存区会被重置,工作区不会被重置
--hard 暂存区和工作区都会被进行重置 [最常用的方法]

使用版本切换可以进行删除文件的找回,前提是删除的文件在之前的版本已经提交到本地库中

git 比较文件

工作区和暂存区中的文件进行比较

git diff # 比较多个文件
git diff 文件名 #比较指定文件

工作区和本地仓库的文件进行比较

git diff [本地仓库指针]
git diff [本地仓库指针] 文件名

git 分支操作

git branch 分支名  #创建分支 
git branch -v  #查看分支
git checkout 分支名 #切换分支

git 合并分支

切换分支需要到合并的分支

git merge 分支名【被合并的分支名】

解决分支冲突

  • 编辑分支文件,删除特殊符号
  • 把文件改到满意的程度,保存退出
  • 执行 git add [文件名]
  • 执行 git commit -m “提交备注” ,不能加具体文件名

远程仓库别名

  • 添加仓库地址
git remote add origin 仓库地址
  • 查看远程仓库
git remote -v
  • 删除远程仓库
git remote remove 别名

从本地推送到远程仓库

git push 仓库别名 分支名 

从远程仓库拉去到本地仓库

  • 直接拉去并合并
git pull 仓库别名 分支名
  • 分步骤,可解决分支冲突
git fetch 仓库别名 分支名
git merge 仓库别名/分支名

常见问题解决

git 从远程仓库下载分支代码

git clone 仓库地址
git remote add 仓库别名 仓库地址
git branch 查看分支 

如果没有需要的分支
git checkout -b 分支名 仓库别名/分支名
git pull 仓库别名