Git安装配置与使用

155 阅读5分钟

一.Git概念与安装

概念

Git是一个开源的分布式版本控制系统,是用来保存工程源代码历史状态的命令行工具。

分布式:开发者可以通过克隆手段,在本地机器上拷贝一份完整的Git仓库,在完成开发工作后,再将个人开发代码提交至Git仓库;

版本控制:即开发人员通过对代码的版本控制,从而实现对代码的有效管理。Git会记录每次提交的代码版本,在有需要时可以对版本进行回滚操作。

安装:Git下载官网:git-scm.com/downloads

image.png

根据自己的电脑系统,下载对应的安装包即可。

安装后按window+R打开输入cmd或者输入powerShell (输入命令 git --version验证)

image.png

二、Git环境配置

首先在GitHub或Gitee官网上注册一个账号,注册好后,桌面右键选择Git Bash

1.配置用户名和邮箱

因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。

git config --global user.nameXXX”  
git config --global user.emailXXX

配置的用户名和邮箱地址会被写入到 C:/Users/用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。

配置好后通过一下命令来检查是否配置成功

# 查看所有的全局配置项
git config --list --global

# 查看单个的配置项,比如查看用户名
git config user.name

2.本地关联GitHub(SSH连接配置)

首先注册好GitHub账号

2.1.生成SSH(电脑与GitHub通信的安全链接)

# 生成ssh
ssh-keygen -t rsa  “XXX邮箱”
 
# 命令执行后,连敲3次回车键 
(期间会询问你要不要输入密码,建议不输入,不然以后每次涉及相关操作都要输入密码会很麻烦)

2.2.查看生成的SSH

系统盘users目录(win: C:\Users\你的用户名.ssh\),会生成的id_rsa私钥 和id_rsa.pub 公钥文件 用文本编辑器打开id_rsa.pub,并将文件中一大串密钥复制(用于添加公钥到GitHub中)

2.3添加公钥到GitHub中

  • 登录 GitHub 账号,右上角进入 Settings,然后选择左边栏的 SSH and GPG keys 进行添加操作

  • 点击 Add SSH key 按钮添加一个 SSH key 。把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车。上面的 Title 所对应的输入框也可以输入一个该 SSH key 显示在 Github 上的一个别名

image.png
  • 在 Git Bash Here 中输入以下代码,检验是否添加 SSH 成功
$ ssh -T git@github.com
  • 若出现警告代码无需理会,直接输入yes回车即可。若创建SSH Key过程设置了密码,则会被提示输入密码

  • 密码正确后你会看到下面代码中这段话,说明已经成功设置 SSH 密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 HTTPS 去访问,而不是 SSH

Hi username! You've successfully authenticated, but GitHub does not provide shell access.

至此就可以使用SSH协议进行代码的拉取和提交操作且不需要输入密码了

三.Git常用命令

image.png

Git三板斧:添加git add,提交git commit和git push

其他常用:查看文件状态git status 显示所有本地分支git branch

四.Git状态

注:可以通过git status命令查看Git仓库状态
如果有文件被修改过,用git diff可以查看修改内容。

文件未添加到Git状态:未被跟踪(Untracked files)

文件添加到Git到三种状态:已修改(modified)、已暂存(staged)、已提交(committed)

image.png

使用 Git 管理的项目,拥有三个区域,分别是工作区、暂存区、Git 仓库

未被跟踪(Untracked files):新建的Git仓库,里面文件的状态都是未被跟踪的状态。输入git add 文件名 即可让文件被跟踪。

已修改(modified):修改了文件,但还没将修改的结果放到暂存区

已暂存(staged):已暂存表示对已修改文件的当前版本做了标记,使之包含在下次提交的列表中

已提交(committed):已提交表示文件已经安全地保存在本地的 Git 仓库中

五、Git分支

注:显示所有本地分支 git branch
   切换分支  git checkout 分支名称
   创建并切换到新分支 -   git checkout -b 新分支名称
   合并分支到master分支上   **git checkout master**    **git merger 分支名称**
   删除本地分支  **git branch -d** 分支名称    

作用:让git所有分支之间彼此互不干扰,各自完成各自的工作和内容。可以在分支使用完后合并到总分支(原分支)  上,安全、便捷、不影响其他分支工作

master 主分支:用来保存和记录整个项目已完成的功能代码。一般不允许在master分支上修改代码,人员导致整个项目崩溃,一般在功能分支调试好后合并到master分支。

功能分支:专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到 master 主分支上。

image.png