Git配置及其基本使用


Git工作区域及向仓库中添加文件流程

Git工作区

Git专用名词 说明
Workspace 工作区
Index / Stage 暂存区
Repository 仓库区(或本地仓库)
Remote 远程仓库

Git使用流程
在这里插入图片描述


配置Git(git config)

Git的设置(配置)文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)

命令 描述
git config --list 显示当前的Git配置
git config -e [–global] 编辑Git配置文件
git config [–global] user.name “[name]”
git config [–global] user.email “[email address]”
设置提交代码时的用户信息

配置Git
桌面右击 ⇒ Git Bash Here,进入Git命令行界面后,执行下面代码;设置邮箱与名字
在这里插入图片描述

git config --global user.email "邮箱"
git config --global user.name "名字"

注意:
在使用git commit提交代码时,如果没有设置user.email、user.name会导致下面错误:
    Please tell me who you are.

错误是因为在创建git文件夹的时候信息不完善导致的

解决方法:
①:在命令行中执行上面命令设置自己的邮箱与名字
②:输入完成之后,再接着执行提交命令(git commit “注释”)



远程仓库搭建


1.GitHub托管

Gitee(码云)上面的搭建方式也是一样的!!!

(1)登录GitHub,新建一个远程仓库

输入仓库信息,并创建一个新的Git仓库
在这里插入图片描述


(2)Github仓库基本信息及其命令

目前,在GitHub上的这个gitonetest仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联。然后,把本地仓库的内容推送到GitHub仓库

在这里插入图片描述

本地Git仓库的创建与使用


1.打开命令窗口

点开windows开始菜单栏在下面的搜索栏输入git,或在桌面右击
点击Git Bash后弹出一个命令窗口
在这里插入图片描述

2.创建仓库(git init)

输入cd到创建的git仓库文件夹地址。(cd是windows自带的命令行,即进到指定文件夹内)
也可以在指定文件夹内,右击打开Git Bash
在这里插入图片描述

创建本地仓库命令 描述
git init 以当前目录创建一个Git代码库
git init [project-name] 新建一个目录,将其初始化为Git代码库(仓库)
git clone [url] 下载一个项目和它的整个代码历史

查看是否创建成功
打开创建的git文件夹会发现有个隐藏的.git文件夹,这样本地仓库就算创建完成了(如果没看到,看一下是不是文件夹设置不显示隐藏文件,改成显示隐藏文件)
.git文件:用来跟踪和管理版本库的

在这里插入图片描述

3.在仓库下新增内容(新建文件)

在仓库文件夹下(D:/git)新建一个test.txt文件,并在其中随便输入内容

在这里插入图片描述

查看仓库状态(git status)
保存关闭后,回到命令窗口,输入git status;箭头标记的地方是新增的文件(test.txt),红色的意思就是该文件未纳入仓库中

在这里插入图片描述

4.纳入暂存区(git add)

使用“git add .”将文件纳入暂存区,然后使用git status查看状态

在这里插入图片描述

命令 说明
git add [file1] [file2] … 添加指定文件到暂存区
git add [dir] 添加指定目录到暂存区,包括子目录
git add 添加当前目录的所有文件到暂存区
git add -p 添加每个变化前,都会要求确认
对于同一个文件的多处变化,可以实现分次提交

5.暂存区内容提交至本地仓库(git commit)

但这还不算完,现在只是把test.txt文件纳入到缓存区而已;使用git commit -m "add test.txt"提交至本地仓库

在这里插入图片描述


注意:如果提交报错,是因为信息不完善导致的;按照下面命令配置用户名和邮箱即可

配置user.name和user.email
检测是否配置user.name和user.email;分别输入这两个命令

git config user.name
git config user.email

如果没有配置,则执行以下命令进行配置。如果上面配置了,此步骤可省略

git config --global user.name '用户名'
git config --global user.email '邮箱'

6.查看操作日志、历史版本(git log,git reflog)

然后输入git log能查看所有操作日志,而输入git reflog能查看所有历史版本,这两条指令能更方便地对版本进行操作

在这里插入图片描述
git reflog指令:能查看所有版本号,以十六进制记录的7个黄色数字字母,修改test.txt后再把它保存到本地git仓库,就会多出一个版本


7.版本回退(git reset)

输入指令git reset --hard HEAD^就能返回上一个版本,输入git reset --hard 版本号就能回退到指定版本
暂时先不要执行版本回退命令,因为目前操作都是在本地仓库,还需要与远程仓库关联


8.关联远程仓库(git remote,git push)

执行git remote将本地仓库与远程仓库相关联,并将本地仓库推入远程仓库成为一个新的版本。

# 将本地仓库和远程仓库关联起来,origin是仓库的名字
git remote add origin https://github.com/TwoBitNomean/gitonetest.git
# 将本地仓库的文件推送到远程仓库,可能本地项目关联着几个远程仓库,可以根据仓库的名字git push origin master将代码提交到不同仓库中,可以指定分支
git push -u origin master

提示操作成功后,刷新Github仓库。就可以看到根目录下的test.txt文件啦!


在使用Git的时候,都是要先拉(git pull),再推(git push),这里演示的是因为只有我一个人在操作,不会造成代码冲突,所以可以直接push。如果有使用SVN经验的同学,可以理解为这里的pull,相当于SVN的“与资源同步”,这样就可以避免代码冲突,直接提交覆盖他人代码。

解决代码冲突的方法,会在后面IDEA使用Git文章中提及。

操作汇集


本地仓库推入远程仓库

# 创建本地仓库
git init
# 添加文件到暂存区
git add README.md
# 提交至本地仓库
git commit -m "first commit"
# 将本地仓库和远程仓库关联起来,origin是仓库的名字
git remote add origin https://github.com/TwoBitNomean/gitonetest.git
# 将本地仓库的文件推送到远程仓库,可能本地项目关联着几个远程仓库,可以根据仓库的名字git push origin master将代码提交到不同仓库中,可以指定分支
git push -u origin master

克隆远程仓库到本地(工作中一般是这种)

# 克隆远程仓库的东西到本地
git clone https://github.com/TwoBitNomean/gitonetest.git(Github地址)
# 添加文件到暂存区
git add README.md
# 提交至本地仓库
git commit -m "first commit"
# 语法:git push "仓库名" "分支名" 
git push origin master、git push own dev
# 删除此本地库绑定的远程库。语法:git remote remove "远程仓库名"
git remote remove origin
# 绑定远程仓库重命名。语法:git remote rename "旧名称" "新名称,"可省略  
git remote rename origin reorigin

git clone命令后面的地址,是创建Git仓库后的仓库地址,有HTTPS和SSH两种,一般使用HTTPS就好;执行克隆命令(git clone)的时候,一般需要输入用户名和密码,直接输入GitHub账号密码,就可以;如果在公司中使用,组长或项目经理会给你开个账号给你!!!


真正入职工作了,一般不会使用命令行,但是还是需要知道的。(后面会有直接在IDEA中使用Git!!)


HTTPS和SSH区别

(1)前者可以随意克隆github上的项目,而不管是谁的;而后者则是必须是克隆的项目的拥有者或管理员,且需要先添加SSH key,否则无法克隆
(2)https url push的时候是需要验证用户名和密码的;而SSH在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的


Github使用ssh密钥的好处与原因
Git使用https协议,每次pull、push都要输入密码,相当的烦。使用git协议,然后使用ssh密钥。这样可以省去每次都输密码

SSH是需要配置秘钥的,步骤比较麻烦;而HTTPS是不需要配置秘钥的,看到HTTPS是不是很眼熟,是不是浏览器中的请求协议;所以只需要保存一个“凭证”就可以实现“不重复输入用户/密码”,这样就很方便了(IDEA就是以凭证的方式实现的)

凭证:可以在自己电脑属性 ==> 搜索“凭证管理器”中找到,如果用户密码被他人修改,需要删除凭证后再次输入用户名/密码

此文章暂时不对SSH密钥的使用方式进行说明,如有需要请留言,谢谢!



上一章:Git下载及其安装                                                     下一章:Git常用命令




猜你喜欢

转载自blog.csdn.net/qq_45305209/article/details/115051270