git操作笔记(一)git安装与最常用命令

412 阅读5分钟

git概述

Git是一个分布式版本控制系统。

git工作机制

image.png

git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库

  • 局域网
    • GitLab
  • 互联网
    • GitHub(外网)
    • Gitee码云(国内网站)

git安装

官网地址: git-scm.com/

查看git版本:git --version

image.png

选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步。 image.png

Git选项配置,推荐默认设置,然后下一步。 image.png

Git安装目录名,不用修改,直接点击下一步。 image.png

Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步。 image.png

默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步 image.png

修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git。 image.png

选择后台客户端连接协议,选默认值 OpenSSL,然后下一步。 image.png

配置 Git 文件的行末换行符,Windows 使用 CRLF,Linux 使用 LF,选择第一个自动转换,然后继续下一步。 image.png

选择 Git 终端类型,选择默认的 Git Bash 终端,然后继续下一步。 image.png

选择 Git pull 合并的模式,选择默认,然后下一步。 image.png

选择 Git 的凭据管理器,选择默认的跨平台的凭据管理器,然后下一步。 image.png

其他配置,选择默认设置,然后下一步。 image.png

实验室功能,技术还不成熟,有已知的 bug,不要勾选,然后点击右下角的 Install 按钮,开始安装 Git。 image.png

点击 Finsh 按钮,Git 安装成功! image.png

git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮件设置用户签名
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m "日志信息" 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭
git config --global credential.helper store输入该命令后再次输入用户名/密码便可记住

1. 设置用户签名

  1. 基本语法

    git config --global user.name 用户名
    git config --global user.email 邮箱
    
  2. 实操案例

image.png

说明:

签名作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。git首次安装必须设置一下用户签名,否则无法提交代码。

注意: 这里设置用户签名和将来登录 GitHub (或其他代码托管中心)的账号没有任何关系。

2. 初始化本地库

  1. 基本语法

    git init

  2. 案例实操

  3. 结果查看

    文件夹下出现.git文件夹

3. 查看本地库状态

  1. 基本语法

    git status

  2. 案例实操

    • 首次查看(工作区没有任何文件)

      image.png

    • 新增文件(hello.txt)

      image.png

    • 再次查看(检测到未追踪的文件)

      image.png

4. 添加暂存区

4.1 将工作区的文件添加到暂存区
  1. 基本语法

    git add 文件名

  2. 案例实操

    image.png

5. 提交本地库

5.1 将暂存区的文件提交到本地库
  1. 基本语法

    git commit -m "日志信息" 文件名

  2. 案例实操

    image.png

6. 修改文件(hello.txt)

vim hello.txt
6.1 查看状态(检测到工作区有文件被修改)
git status
6.2 将修改的文件再次添加暂存区
git add hello.txt
6.3 查看状态(工作区的修改添加到了暂存区)
git status

7. 历史版本

7.1 查看历史版本
  1. 基本语法

    git reflog 查看版本信息

    git log 查看版本详细信息

  2. 案例实操

    image.png

7.2 版本穿梭
  1. 基本语法

    git reset --hard 版本号

  2. 案例实操

    image.png

Git切换版本,底层其实移动的 HEAD 指针,具体原理如下图所示。

image.png

8. git SSL certificate problem: unable to get local issuer certificate

这个问题是由于没有配置信任的服务器HTTPS验证。默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。

执行以下命令:

git config --global http.sslVerify false

9. 记住用户名和密码

git config --global credential.helper store

输入完该命令后再次输入用户名密码即可

10. 查看分支

git branch	// 查看本地所有分支

git branch -r	// 查看远程所有分支

git branch -a	// 查看本地和远程的所有分支

git branch <branchname>		// 新建分支

git branch -d <branchname>	// 删除本地分支

git branch -d -r <branchname>	// 删除远程分支,删除后还需推送到服务器
git push origin:<branchname>	// 删除后推送至服务器

git branch -m <oldbranch> <newbranch>	// 重命名本地分支

/**
* 重命名远程分支:
* 1. 删除远程待修改分支
* 2. push本地新分支到远程服务器
*/
// git中一些选项解释:

-d
--delete: 删除

-D
--delete --force的快捷键

-f
--force: 强制

-m
--move: 移动或重命名

-M
--move --force的快捷键

-r
--remote:远程

-a
--all: 所有

11. git fetch用法

git fetch <远程主机名>	// 这个命令将某个远程主机的更新全部取回本地

如果只想取回特定分支的更新,可以指定分支名:

git fetch <远程主机名> <分支名>

最常见的命令如取回origin主机的master分支

git fetch origin master

取回更新后,会返回一个FETCH_HEAD,指的是某个branch在服务器上的最新状态,我们可以在本地通过它查看刚取会的更新信息:

git log -p FETCH_HEAD

12. git pull 用法

git pull 的过程可以理解为:

git fetch origin master		// 从远程主机的master分支拉取最新内容
git merge FETCH_HEAD		// 将拉取下来的最新内容合并到当前所在的分支中

即将远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为:

git pull <远程主机名> <远程分支名>:<本地分支名>

如果远程分支是与当前分支合并,则冒号后面的部分可以省略:

git pull origin next

13. 创建本地分支

git checkout 分支名 切换到本地分支

git checkout -b 分支名 创建本地分支并切换

git push origin 本地分支名

14. 删除远程分支

git push --delete origin dev

删除本地分支:git branch -d dev