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

青岛网站设计皆挺青岛博采网络深圳全网营销型网站

青岛网站设计皆挺青岛博采网络,深圳全网营销型网站,国内十大少儿编程品牌,网站ppt怎么做参考链接: 创建版本库 - Git教程 - 廖雪峰的官方网站 Git使用教程,最详细,最傻瓜,最浅显,真正手把手教 - 知乎 命令使用 cd f: 切换目录到 F 盘 cd gitCxl 切换目录到 gitCxl 文件夹 mkdir gitCxl 创建新文件…

参考链接:

创建版本库 - Git教程 - 廖雪峰的官方网站

Git使用教程,最详细,最傻瓜,最浅显,真正手把手教 - 知乎

命令使用

cd f:        切换目录到 F 盘

cd gitCxl        切换目录到 gitCxl 文件夹

mkdir gitCxl        创建新文件夹 gitCxl

pwd        打印当前目录

git init        将当前目录设置为git可管理的仓库

git add readme.txt        将 readme.txt 添加到暂存区

git commit -m "提交说明"        把暂存区内的所有文件提交到仓库

常用的 git commit 参数和选项:

  • -m <message> 或 --message=<message>
    • 直接在命令行上指定提交信息(commit message)。这是最常用的参数之一,因为它允许你快速附加一条描述性消息来解释更改。
  • -a 或 --all
    • 自动将所有已跟踪文件的更改(包括那些没有被 git add 明确添加到暂存区的文件)提交。这通常用于快速提交所有更改,但请注意,它不会添加新文件到仓库中。
  • -v 或 --verbose
    • 在提交时显示差异(diff)和提交信息。这有助于在提交前再次确认更改。
  • --amend
    • 修改最近的提交。这允许你更改最近的提交信息或添加更多更改到该提交中,而不是创建一个新的提交。
  • --signoff 或 -s
    • 在提交信息中添加一个签名行(Signed-off-by),这通常用于表示你同意某些开发准则或协议。
  • --no-verify
    • 绕过提交前的钩子(hook)脚本。Git 允许你在提交前运行自定义脚本以检查代码风格、测试等。使用此选项可以跳过这些检查。
  • --allow-empty
    • 允许创建一个空的提交(即没有更改的提交)。这通常用于记录项目状态或触发某些构建/部署流程。
  • --allow-empty-message
    • 允许提交一个空的提交信息(即不附带任何描述)。通常,Git 会阻止这种提交以防止无意义的提交记录。
  • --template=<file>
    • 使用指定的文件作为提交信息的模板。这可以帮助你遵循特定的提交信息格式或包含额外的信息。
  • --author=<author>
    • 指定提交的作者信息。这通常用于修复错误的作者信息或代表其他人提交更改。
  • --date=<date>
    • 指定提交的日期和时间。这可以用于调整提交的时间戳,但通常不建议这样做,因为它可能会混淆项目的历史记录。

git status        查看是否还有文件未提交(状态)

git diff readme.txt        查看readme.txt文件内的改动

git log        查看从近到远的提交日志(历史记录)

git log --pretty=oneline        只查看提交说的注释信息

————

回退到上一个版本:git reset --hard HEAD^

回退到上上个版本:git reset --hard HEAD^^

回退到前100个版本:git reset --hard HEAD~100

注:

--hard会回退到上个版本的已提交状态,

--soft会回退到上个版本的未提交状态,

--mixed会回退到上个版本已添加但未提交的状态。

————

cat readme.txt        查看readme.txt的内容(实验发现是本地文件的内容,不是仓库中文件的内容)

git reflog        获取版本号;

git reset --hard 版本号        回退到版本号对应的那个版本

git diff HEAD -- readme.txt        查看工作区和版本库里面最新版本的区别

初始创建版本库

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

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

注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

cd 是 "change directory" 的缩写,意为“切换目录”;

mkdir 是 "make directory" 的缩写,用于创建新目录(文件夹)

pwd 是 "print working directory" 的缩写,意为“打印当前工作目录”,用于显示当前的目录

git init 把当前的这个目录变成 git可以管理的仓库

git add readme.txt 版本库gitCxl目录下记事本文件 readme.txt添加到暂存区里面去(没有任何提示,则说明已经添加成功)。

git commit 告诉Git,把文件提交到仓库 (-m后" "里的内容为本次提交的注释说明)。

git commit命令执行成功后会告诉你:

  • 1 file changed:1个文件被改动(我们新添加的readme.txt文件);
  • 2 insertions:插入了两行内容(readme.txt有两行内容)。

git status查看是否还有文件未提交

  • 黄色:说明没有任何文件未提交;
  • 蓝色:告诉我们 readme.txt 文件已被修改,但是未被提交的修改。

git diff readme.txt 查看readme.txt文件到底改了什么内容,如下:

如上可看到,readme.txt文件内容从二行改成 三行 添加了一行22222222内容。

知道了对readme.txt文件做了什么修改后,我们可以放心的提交到仓库了,提交修改和提交文件一样的2步(第一步是git add 第二步是:git commit)

输入git add readme.txt

报错1:fatal: not a git repository (or any of the parent directories)

原因:Git命令必须在Git仓库目录内执行(git init除外),在仓库目录外执行是没有意义的。

报错2:fatal: pathspec 'readme.txt' did not match any files

原因:添加某个文件时,该文件必须在当前目录下存在,用ls或者dir命令查看当前目录的文件,看看文件是否存在,或者是否写错了文件名。

  • 总结:

初始化一个Git仓库,使用git init命令。

添加文件到Git仓库,分两步:

  1. 使用命令git add <file>,(可反复多次使用,添加多个文件);
  2. 使用命令git commit -m <message>,完成。

版本管理

查看提交日志

git log 查看历史记录,显示从最近到最远的提交日志。

文件修改内容:

初始:(版本一)
Git is a version control system.
Git is free software.第一次修改后:(版本二)
Git is a version control system.
Git is free software.
22222222
33333333第二次修改后:(版本三)
Git is a version control system.
Git is free software.
22222222

如果嫌输出的信息太多,则可加上--pretty=oneline参数。

即,使用命令 git log --pretty=oneline 演示:

黄色一大串类似1094adb...的是commit id(版本号)。

和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示。commit id以自己的为准。

commit id需要用这么一大串数字表示是因为:

Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。

每提交一个新版本,实际上Git就会把它们自动串成一条时间线。如果使用可视化工具查看Git历史,就可以更清楚地看到提交历史的时间线。

版本回退

若想把当前的版本回退:

回退到上一个版本:git reset --hard HEAD^

回退到上上个版本:git reset --hard HEAD^^

回退到前100个版本:git reset --hard HEAD~100

注:

--hard会回退到上个版本的已提交状态,

--soft会回退到上个版本的未提交状态,

--mixed会回退到上个版本已添加但未提交的状态。

使用示例:(回退到上一个版本,也就是版本二)

cat readme.txt 查看readme.txt的内容

cat 是“concatenate”的缩写,意为“连接”或“串联”。其原意是用来将文件内容连接并输出到标准输出设备(通常是屏幕),被广泛用于查看文件内容

(此时查看文件内容发现,确实已经回退到上一个版本了。)

此时,再用 git log 查看历史记录信息,看下现在版本库的状态:

发现第二次修改的那个 “删除内容333333,只剩222” 看不到了。

若现在想回退到最新的版本(版本三),也就是刚刚看不到的那个版本,则可通过版本号进行回退。

git reflog 获取版本号

git reset --hard 版本号,用于回退到版本号对应的那个版本

(版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,否则Git可能会找到多个版本号,就无法确定是哪一个了。)

到此,已经又回到了最新那个版本(版本三)。

————

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针。

当你回退版本的时候,Git仅仅是把HEAD从指向(版本三),改为指向(版本二)。

然后顺便把工作区的文件更新了。所以你让HEAD指向哪个版本号,你就把当前版本定位在哪。

  • 总结:
  1. HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
  2. 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  3. 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本(利用其版本号)。

工作区和暂存区

工作区:就是在电脑上能看到的目录。比如:

  1. 目录下gitCxl里的文件(.git隐藏目录版本库除外)。
  2. 以后需要再新建的目录文件等等都属于工作区范畴。

版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,而是Git的版本库。

  • 其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

我们前面说过使用Git提交文件到版本库有两步:

  • 第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
  • 第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

因为创建Git版本库时,Git自动为我们创建了唯一一个master分支,

所以现在,git commit就是往master分支上提交更改。

可以简单理解为,需要提交的文件修改通通放到暂存区,然后一次性提交暂存区的所有修改。

  • demo演示如下:

修改 readme.txt 的内容,新增加 addnew.txt 文件。

1、先用命令 git status来查看下状态:

Git非常清楚地告诉我们:

  1. readme.txt被修改了;
  2. test.txt还从来没有被添加过,所以它的状态是Untracked

2、使用git add 命令把2个文件都添加到暂存区中,再使用git status来查看下状态:

add之后,此时两个文件皆处于暂存区中。

所以,git add命令实际上就是把要提交的所有修改放到暂存区(Stage),

然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。

3、执行git commit就可以一次性把暂存区的所有修改提交到分支:

一旦提交后,如果你又没有对工作区做任何修改,那么工作区就是“干净”的,如上。

管理修改

Git跟踪并管理的是修改,而非文件。

  • 举个例子:

1、修改内容后使用 git add 添加到暂存区中;

2、在暂存区中 的前提下,再修改内容;

3、使用 git commit 提交到仓库。

也就是说,过程是【第一次修改 -> git add -> 第二次修改 -> git commit】 。

提交后会发现,第二次的修改并没有被提交。

  • 因为:

Git管理的是修改。

当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交

但是,在工作区的第二次修改并没有放入暂存区

所以,git commit只负责把暂存区的修改提交了

也就是第一次的修改被提交了,第二次的修改不会被提交。

拓展

git的命名窗口关闭之后,继续使用之前创建的仓库

无需重新创建。

在你创建仓库文件夹内鼠标右键有个 Git Bash Here打开就好,

或者按住shift加鼠标右键有个 `在此处打开Powershell窗口`,都可以直接 使用git命令。

http://www.dtcms.com/wzjs/424542.html

相关文章:

  • 行业推广做哪个网站好网络推广公司方案
  • 什么是做网站千锋教育培训机构就业率
  • 微信视频网站怎么做的外贸做网站公司哪家好
  • 成安专业做网站百度指数怎么看
  • 平板电脑做网站吗采集站seo提高收录
  • 万江区做网站网站关键词排名软件推荐
  • 自建网站备案通过后怎么做手机优化软件排名
  • 广州微信网站设计销售平台排名
  • 网站维护推广表怎么用网络推广
  • 网站视图错位镇江交叉口优化
  • 网站建设进度表怎么做河北网站建设制作
  • 如何在税局网站上做税种认定2023年6月疫情情况
  • 买cms做网站网站统计数据分析
  • 极简主义的网站百度快速收录权限域名
  • 广州百度seo代理天津seo推广
  • 建设一个网站的硬件要求1688如何搜索关键词排名
  • 织梦网站分享插件推广平台网站有哪些
  • 电视台网站开发seo线下培训班
  • 新网 网站空间湖北网络营销网站
  • 网站做照片注册城乡规划师报考条件
  • 做网站需要公司资质吗搜易网优化的效果如何
  • 巨久科技网站建设市场营销四大基本策略
  • 服务器做网站全网营销
  • 厦门网站设计公司常见搜索引擎有哪些
  • 文山专业网站建设seo服务 文库
  • 通辽网站建设tlyltd百度关键词代做排名
  • 怎样做网站推广啊网站优化seo方案
  • 办公空间设计经典案例优化网站服务
  • 哈尔滨网站设计模板seo智能优化
  • 网站推广新手入门教程橘子seo