当前位置: 首页 > news >正文

移动网站建站千锋培训机构官网

移动网站建站,千锋培训机构官网,dnf免做卡网站,商标注册代理公司Git的使用 概述 Git是一个分布式版本控制工具, 通常用来管理项目中的源代码文件(Java类、xml文件、html页面等)进行管理,在软件开发过程中被广泛使用 Git可以记录文件修改的历史记录并形成备份从而实现代码回溯, 版本切换, 多人协作, 远程备份的功能Git具有廉价的本地库,方便…

Git的使用

概述

Git是一个分布式版本控制工具, 通常用来管理项目中的源代码文件(Java类、xml文件、html页面等)进行管理,在软件开发过程中被广泛使用

  • Git可以记录文件修改的历史记录并形成备份从而实现代码回溯, 版本切换, 多人协作, 远程备份的功能
  • Git具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CVS、Perforce 和 ClearCase 等版本控制工具

在这里插入图片描述

Git仓库专门用来存储项目中的文件(实际可以存储任何文件),大体分为本地仓库和远程仓库两种

  • 本地仓库:开发人员自己电脑上的Git仓库
  • 远程仓库(代码托管中心): 局域网远程库GitLab和互联网远程库GitHub(国外托管平台),Gitee(国内平台),BitBucket

工作区、暂存区、本地版本库概念

  • 工作目录(工作区): 包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
  • 暂存区: 一个临时保存修改文件的地方, .git文件夹内的名为index的文件就是暂存区(stage)
  • 本地版本库: 在执行git init命令后会在当前文件夹创建一个隐藏文件.git(版本库),这个文件中存储了很多的配置信息、日志信息和文件版本信息等

Git工作目录下的文件存在未跟踪和已跟踪两种状态,这些文件的状态会随着我们执行Git的命令发生变化,最后形成一个历史版本

**对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化 **

  • untracked: 未跟踪(未被纳入版本控制)即新创建的文件
  • tracked: 已跟踪(被纳入版本控制),具体又分为Unmodified未修改状态, Modified已修改状态, Staged已暂存状态

在这里插入图片描述

Git常用命令

命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置用户邮箱(不会验证是否存在,最好用自己创建GitHub时的邮箱,不然提交没有小绿点)
git init初始化本地库
git status查看本地库状态
git add 文件名 或 *添加文件到暂存区 , * 表示添加所有的文件
git rm --cached 文件名删除暂存区的文件,但不会删除工作区的文件,工作区的文件会处于未追踪状态(红色警示)
git reset 文件名称将暂存区的文件取消暂存
git commit -m “提交文件时的日志描述信息” 文件名 或 *将暂存区的文件提交到本地库,日志信息必须要写(可以在日志文件中查看),* 表示提交所有文件
git reflog查看提交的历史版本信息(包含提交的日志信息和精简版本号)
git log查看提交的历史版本的详细信息(含提交作者和提交时间以及完整版本号)
git reset --hard 要穿越到的版本号切换到指定版本

全局范围的签名设置: 用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的

  • 签名的作用是区分不同操作者身份 , Git 首次安装必须设置一下用户签名否则无法提交代码
  • 这里设置的用户签名和将来登录GitHub或其他代码托管中心的账号没有任何关系
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git config --global user.name Layne
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git config --global user.email Layne@atguigu.com
# 查看.gitconfig配置文件(在用户的家目录下)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cat ~/.gitconfig
[user]
name = Layne
email = Layne@atguigu.com
#查看配置信息命令
git config --list

git init: 在项目目录下右键打开Git bash窗口然后执行该命令就可以让Git获取项目目录的管理权, 初始化后会在该目录下生成.git隐藏文件夹

# 假设/d/Git-Space/SH0720就是我们的项目目录(工作区)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720
$ git init
Initialized empty Git repository in D:/Git-Space/SH0720/.git/#(ll -a查看当前目录下的隐藏目录)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ ll -a
total 4
drwxr-xr-x 1 Layne 197609 0 1125 14:07 ./
drwxr-xr-x 1 Layne 197609 0 1125 14:07 ../
drwxr-xr-x 1 Layne 197609 0 1125 14:07 .git/ 

git status 参数(-s参数可以使输出信息更加简洁) :查看本地版本库状态,未追踪的文件将会红色显示,追踪后的文件将会绿色显示

#首次查看(工作区没有任何文件)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master#当前本地库在master分支(默认)
No commits yet#还没有提交过东西
nothing to commit#没有东西可以提交 (create/copy files and use "git add" to track)#在项目目录下新增hello.txt文件
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ vim hello.txt
hello git! hello atguigu!##再次查看(检测到未追踪的文件)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
No commits yet
Untracked files:#Git还未追踪文件,文件此时在工作区(use "git add <file>..." to include in what will be committed)hello.txt
nothing added to commit but untracked files present (use "git add" to track)

*git add/git rm --cached 文件/*: 将工作区的文件添加到暂存区或者删除暂存区的文件(表示所有的文件),追踪后的文件将会绿色显示

  • 暂存区的文件可以删除掉,但是工作区的文件并不会删除

gie reset: 将暂存区的文件取消暂存

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
#将工作区的文件添加到暂存区
$ git add hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.#查看状态(检测到暂存区有新文件)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
No commits yet#还没有提交
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hello.txt#Git已经追踪到该文件,文件此时在暂存区,但是还没有提交到本地库#删除暂存区的文件
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git rm --cached hello.txt
rm ‘hello.txt’

git commit -m "提交的日志描述信息" 文件/*: 将暂存区的文件提交到本地版本库,形成文件的历史版本,*表示提交所有的文件

# 将暂存区的文件提交到本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git commit -m "my first commit" hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.
[master (root-commit) 087a1a7] my first commit#087a1a7是提交的精简版本号
1 file changed, 16 insertions(+)
create mode 100644 hello.txt# 查看本地库的状态(没有文件需要提交)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
nothing to commit, working tree clean# 工作区已经空,没有东西可以提交

git reflog/log: 查看版本的提交记录以及当前分支和其指向的版本(默认是最新版本) , reflog表示精简版信息 , log表示详细信息 ,从下往上看

#将暂存区的文件提交到本地库后可以查看文件的版本信息
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git reflog
087a1a7 (HEAD -> master) HEAD@{0}: commit: my first commit#HEAD执向master分支的my first版本Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git log
commit 087a1a747382978(HEAD -> master) #完整的版本号
Author: #用户名
Date: #提交文件的日期my first commit#提交时的版本信息

版本切换

修改工作区中已提交到暂存区的文件后并不会自动添加到暂存区需要重新手动提交,此时master分支指向的版本包含的是文件最后提交的版本

#修改工作区的文件(hello.txt)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ vim hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu!#查看状态(检测到工作区有文件被修改)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git checkout -- <file>..." to discard changes in working directory)modified: hello.txt#文件以及被修改,并且没有提交到暂存区
no changes added to commit (use "git add" and/or "git commit -a")#将修改的文件再次添加暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git add hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.#再次查看状态(工作区的修改文件已经添加到了暂存区)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
Changes to be committed:(use "git reset HEAD <file>..." to unstage)modified: hello.txt#提交修改后的文件到本地库,形成文件的历史版本my second commit
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git commit -m "my second commit" hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory.#查看本地库的状态(没有文件需要提交)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git status
On branch master
nothing to commit, working tree clean

git reflog(详细) 或 git log: 查看提交的历史版本信息

#查看版本信息,此时HEAD执向master分支的second版本
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git reflog
ca8ded6 (HEAD -> master) HEAD@{0}: commit: my second commit
087a1a7 HEAD@{1}: commit: my first commit

git reset --hard commitID: 根据切换当前分支的版本, 底层其实是移动的HEAD指针

  • commitID: 提交的历史版本的精简版本号
  • .git下的HEAD文件或refs/heads/master文件: 查看HEAD指针指向当前分支的版本

在这里插入图片描述

# 切换到我们第一次提交的first版本
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git reset --hard 087a1a7
HEAD is now at 087a1a7 my first commit#切换完毕之后再查看历史版本的记录
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git reflog
087a1a7 (HEAD -> master) HEAD@{0}: reset: moving to 087a1a7#记录指针移动的日志信息
ca8ded6 HEAD@{1}: commit: my second commit
087a1a7  (HEAD -> master) HEAD@{2}: commit: my first commit
#然后查看文件hello.txt,发现文件是第一次提交时的内容
$ cat hello.txt
hello git! hello atguigu!
http://www.khdw.cn/news/8505.html

相关文章:

  • 知晓程序网站怎么做外贸做网站公司哪家好
  • 网站设计uiseo蜘蛛池
  • 网站建设与管理综合实践产品推广软件有哪些
  • 肥东住房和城乡建设部网站seo广告
  • b2c的代表平台有哪些宁波seo在线优化方案
  • 网站404页面作用网络销售平台排名前十
  • 怎么做网店网站爱站网关键词长尾挖掘工具
  • 建筑设计门户网站营销方案怎么写
  • 一个网站多久能做完上海app网络推广公司电话
  • 拐角型网站微博搜索引擎优化
  • 宜家有做自己的网站吗潍坊网站建设公司
  • 网站建设 硬件seo技术最新黑帽
  • 政府网站建设策划国际机票搜索量大涨
  • 做产品网站架构图之前注意要点提升关键词
  • discuz做服务网站淘宝关键词排名
  • 上海专业做网站产品策划方案怎么做
  • 网站建设是干什么视频号推广
  • 备案网站打不开百度导航最新版本下载安装
  • wordpress文章分页共多少页seo运营是什么意思
  • 专业响应式网站制作个人网页制作成品欣赏
  • iis 网站启动不了客户资源买卖平台
  • 申请163邮箱注册云优化软件
  • 动态网站源码2022今天刚刚发生地震了
  • 网站如何制作做吸引客户怎么自己做一个小程序
  • 网站维护的工作内容步骤2023疫情第三波爆发时间
  • 做网站的运营维护都要学什么正规seo排名多少钱
  • 珠海北京网站建设百度推广优化是什么?
  • 企业网站的建立意义seo研究中心好客站
  • 建设购物网站论文优化教程网下载
  • delphi intraweb做网站网络营销热点事件案例分析