Java教程

有关git的基础小结

本文主要是介绍有关git的基础小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Git

1. Git 的基本概念

Git 是一个开源的分布式控制系统(版本管理工具),是目前使用范围最广的版本管理工具。

它的作用就是对文件进行版本的管理,由于每次项目上线可能会产生一些无法预料的bug,这时就需要选择上一个正常的版本进行回滚。而Git的存在,就是为让开发人员能够方便地在不同版本间进行切换。码云、Github在某种程度上来说,就是代码的网盘,作为一些开源开发商代码发布、存放、征集bug及意见的功能。

除了版本管理这项功能,Git 在团队协作开发上也有很大的优势。

除了上面的优点,Git还有一个特殊的地方 —— 分布式管理。SVN是另外一个版本管理系统,但是它必须要在特定的网络上才能进行开发和管理。一旦服务器宕机或者网路崩溃,版本控制这个功能就失效了。Git的分布式管理,可以让每个开发人员将仓库的代码全部下载到本地,包括这个项目的每个分支、版本更新的记录。如果线上的环境崩, 完全可以通过本地选择一个正常的历史记录进行回滚,然后去有网的地方将代码上传更新。

2. Git 工作原理

2.1 工作区

Git 在本地初始化一个仓库后,会存在三个工作区域:工作目录、暂存区、本地仓库,当关联远程仓库时,就会有一个远程仓库。

  • 工作区(Workspace):平时存放、编写代码的地方;
  • 暂存区(Stage/Index):用于临时存放代码的改动的地方;
  • 本地仓库(Repository):用于存放所有版本的数据;

3. Git 的使用

3.1 Git 的配置

在上传代码前,首先要进行Git的配置,否则代码仓库不知道你的身份,这样就没法记录谁上传谁修改了代码。这个配置只要在安装Git后配置一次即可。

git config --global user.name "lyan"
git config --global user.email "1055869654@qq.com"

要检查配置是否完成,可以通过以下命令查看

git config -l

如果在这行信息最后,出现刚刚配置的用户名和邮箱,则代表配置成功

diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=lyan
user.email=1055869654@qq.com

3.2 创建项目

# 在当前文件夹下新建 .git 仓库
git init

# 在当前文件夹下创建一个名为bluej的文件夹,里面有 .git
git init bluej

3.3 关联远程仓库

git remote add origin 你的仓库地址

3.4 git 四步走

git add .    # 提交当前目录下的所有文件到暂存区
git commit -m "feat:新增了头部"  # 将暂存区的文件提交到本地仓库
git pull     # 将远程仓库的代码拉取到本地进行同步
git push		 # 将本地仓库的代码推送到远程仓库
git push -u origin master  # 如果是第一次新建仓库,推送时要添加关联分支
3.4.1 修改 commit 信息

如果commit的备注信息打错了,可以通过以下命令进行修改

git commit --amend

首先,默认会打开一个 vim 编辑器,然后输入 i ,会发现左下角变成了 -- INSERT -- ,再更改备注信息即可。修改完成后,先按下 ESC ,退出编辑模式,再输入 :wq 回车进行保存。

3.5 文件状态

git status
  • Untracked:文件没有被跟踪,提交本地仓库到远程仓库时,Untracked 的文件不会被上传;
  • Modified:文件已被编辑(它已被git跟踪);

3.6 忽略文件

如果要忽略某些文件,不需要进行git的上传,则可以在根目录下新建一个文件 .gitignore

.DS_Store				# 忽略所有 .DS_Store 文件
/test						# 忽略根目录下 test 文件夹
test/						# 忽略所有 test 文件夹
*.html					# 忽略所有以 html 为后缀的文件

3.7 分支

3.7.1 查看分支
# 查看本地所有分支
git branch
# 查看远程所有分支
git branch -r
3.7.2 新建和切换分支
# 新建分支
git branch 分支名称
# 切换分支
git checkout 分支名称
# 新建并切换分支
git checkout -b 分支名称
3.7.3 上传分支
git push origin 分支名称
3.7.4 删除分支
# 删除本地分支
git branch -d 分支名

# 删除远程分支
git branch -dr [remote/分支名]			# 只是删除本地的远程分支记录
git push origin --delete [分支名]	# 真正的删除远程分支
3.7.5 合并分支
# 先切换到你的分支下,然后再把其他分支的内容合并到你的分支上
git merge 分支名称

3.8 版本回退

要进行版本回退,需要查看日志找到需要回退的那个版本的 hash 值

git reset --hard 哈希值
3.8.1 查看日志
# 查看简略日志
git reflog

# 查看详细日志
git log
这篇关于有关git的基础小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!