Git安装与使用教程-本地仓库与远程仓库内容版本管理

一.Git 简介

      Git是目前世界上最先进的分布式版本控制系统。其可以进行本地和远程两种版本控制。

  • 本地版本控制:在本地 .git 文件夹内维护历时文件
  • 远程仓库(如GitHub)版本控制:在本地 .git 文件夹内维护历时文件,同时也将历时文件托管在远程仓库。

      Git主要特征如下:
图1Git 特征
      下面分别介绍Git安装教程、本地版本控制、远程版本控制。

二.Git 安装教程-Windows

Git官网下载地址Git安装教程

三.本地版本控制

      本地版本控制主要用于非公开项目版本管理,如公司项目、个人保密项目等,目前GitHub也可以建立非公开的私人远程仓库,如果保密性过高,可以选择就在自己的电脑上进行版本管理。
      接下来介绍下在电脑上进行本地版本控制的各个操作。

  1. 获取本地Git仓库- git init
    如果你打算使用 Git 来对现有的项目进行管理,图1
    你只需要进入该项目目录并输入:git init图2
    此命令会创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。但是,在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

  2. 查看当前文件状态- git status图3输入后,显示了当前目录下包含的文件及当前分支,当前分支为master,一般初始化仓库后会默认生成分支master,图中红色文件表示这一类文件还未被跟踪,属于上述三种状态之已修改状态。git status输出十分详细,如果你使用 git status -s 命令或git status --short 命令,你将得到一种更为紧凑的格式输出。运行 git status -s ,状态报告输出如下:图4新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有M 标记。你可能注意到了 M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没放入暂存区,出现在靠左边的 M 表示该文件被修改了并放入了暂存区。

  3. 添加文件至暂存区,输入git add (files)图5git add 命令使用文件目录的路径(本例使用当前路径)作为参数;如果参数是目录的路径,该命令将递归地跟踪该目录下的所有文件,此时文件处于已暂存状态,如Changes to be committed下显示的文件。

  4. 提交文件至本地仓库- git commit -m "建立算法代码仓库,第一次提交"图6问题: 图中红色框内正常应是中文,作者这里不知是哪里设置问题,输出不太正确,如有知道原因的朋友可在评论区留言讨论,感谢~ 如图显示当前文件已提交至仓库master分支。注意,提交时记录的是放在暂存区域的快照。任何还未暂存的仍然保持已修改状态,可以在下次提交时纳入版本管理。每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。

  5. 查看查看已暂存和未暂存的修改-git diff
    修改本地文件readme.txt,添加时间注释“-2020.03.02记录”,源文件内容如图,图7
    修改后内容如图,图8
    修改内容后文件处于已修改状态,输入git diff查看文件区别,图9
    图中显示了已暂存和未暂存文件区别。
    git diff --cached 查看已经暂存起来的变化,图10

  6. 从暂存区移除- git rm <files>,本地和仓库中均移除文件,结果如图所示。图11图12如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -fgit rm -f <files>
          另外一种情况是,我们想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪。当你忘记添加 .gitignore文件,不小心把一个很大的日志文件或一堆 .a 这样的编译生成文件添加到暂存区时,这一做法尤其有用。为达到这一目的,使用 --cached 选项:git rm --cached readme.txt
    git rm 命令后面可以列出文件或者目录的名字。如git rm log/\*.log删除log/ 目录下扩展名为 .log 的所有文件。git rm \*~为删除当前目录下以 ~ 结尾的所有文件。

  7. 设置忽略文件.gitignore
          一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,可以创建一个名为.gitignore 的文件,列出要忽略的文件模式。
           例:第一行忽略所有以 .o 或 .a 结尾的文件。一般这类对象文件和存档文件都是编译过程中出现的。第二行告诉 Git 忽略所有以波浪符(~)结尾的文件。要养成一开始就设置好 .gitignore 文件的习惯。

cat .gitignore
*.[oa]
*~

下面付一些其他命令的使用

  1. 重命名文件- git mv file_from file_to
    图13

  2. 查看提交历史- git log,git log有很多支持的选项,可自行百度。
    图14

  3. 尝试重新提交- git commit --amend
    图15

  4. 取消暂存的文件- git reset HEAD <file>

  5. 撤销对未暂存文件的修改 - git checkout --<file>

      先更这么多,远程仓库使用下次更新,感谢各位朋友的:点赞、收藏和评论~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值