一.Git 简介

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

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

Git主要特征如下:

      下面分别介绍Git安装教程、本地版本控制、远程版本控制。

二.Git 安装教程-Windows

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

三.本地版本控制

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

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

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

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

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

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

  6. 从暂存区移除- git rm <files>,本地和仓库中均移除文件,结果如图所示。如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -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

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

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

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

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

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

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

  1. git命令行推送本地分支到远程仓库

    之前说过Git与IDEA强强联合(HTTPS协议连接)那么如何使用命令行来推送代码呢? 如下图所示为一个基于layui的前端代码: 目录工作区文件: 本地内容就是将这些内容推送到远程仓库 首先使用gi ...

  2. 用git和idea推送本地项目到远程仓库

    方式一:git命令方式 1.鼠标右键:Git Bash Here 2.初始化仓库:git init 3.配置签名:①git config user.name "Zhang3" ② ...

  3. 通过Android studio使用git创建本地分支提交远程仓库以及如何查看切换分支

    我们有时候对命令不熟悉的同学例如我,那么这个AS自带的这个创建分支功能就对我们必不可少了. 首先我们看下远程仓库只有主支master,没有任何分支的信息如下图: 1.首先我们打开AS,点击右下角的gi ...

  4. git删除本地分支在远程仓库已不存在的分支

    查看本地及远程所有分支 git branch -a 查看origin的详细信息 git remote show origin 同步origin主机对于git分支的删除操作,即去除Git Graph无用 ...

  5. Git 安装和使用教程(更加详细)

    转载至:https://www.cnblogs.com/smuxiaolei/p/7484678.html#undefined Git 安装和使用教程 git 提交 全部文件 git add .  g ...

  6. Git 安装和使用教程(Windows)

    安装   git官方下载地址: https://git-scm.com/download/win   不过下载很慢,而且容易打不开,于是找了个其他下载链接   下载完成后,一路点击next,所有设置保 ...

  7. Git详解之必知点----Git、本地仓库、远程仓库、IDEA集成Git

    Git详解之必知点 1.Git介绍 1.1版本控制(理解) 1.2开发中存在的问题(理解) 1.3SVN版本控制(理解) 1.4Git版本控制(理解) 2.Git下载和安装 2.1Git的安装(应用) ...

  8. 08 Git中本地工作与远程仓库的同步

    本节视频: 本节的目标对应日常工作的常态,将应对第一次提交中不会遇到的各种"意外".这些意外是多人合作中的正常现象,需要掌握其正确的处理方式. 与上一节相比,本节的新内容是从远程仓 ...

  9. 在自己的服务器上搭建git仓库服务器(本地推送到远程仓库、远程仓库推送到本地)

    文章目录 Git服务器 一.安装Git 二.配置Git 1.创建Git用户 2.仓库初始化 三.使用仓库 1.本地推送到远程仓库 2.远程仓库推送到本地 总结 Git服务器 一般,我们编写项目,都会保 ...

最新文章

  1. 【亲测可用】Xshell可视化配置一个登录服务器后自动进入指定目录的方法
  2. shellcode中变形bindshell的实现
  3. 深度学习中Flatten层的作用
  4. under what circumstances, breakfast is essential
  5. F - Heron and His Triangle UVALive - 8206
  6. 847. Shortest Path Visiting All Nodes(一)
  7. 错误记录(八)could not initialize proxy - no Session
  8. HTTPS 会变成跟踪功能
  9. python中的类装饰器应用场景_python中的装饰器常用于哪些应用场景
  10. Linux内核网络:实现与理论--序言
  11. 系统集成方式:数据集成、控制集成
  12. BUUCTF-web [极客大挑战 2019]PHP1 之 反序列化漏洞
  13. 计算机专业英语辅音字母缩略,英语缩写规则
  14. uni-app实现PDF预览功能(避坑看这)
  15. Ubuntu 20.04 桌面美化 iOS主题
  16. 黄页88网站之加密字符串破解
  17. Windows端口代理转发
  18. Visio绘图软件所需图标总结
  19. 短消息聊天框html模板,短信、私信、微信等聊天对话的文本消息生成器AE模板
  20. java 设置环境变量生效_配置java环境变量后没有生效的解决办法

热门文章

  1. Redis 启动杂项
  2. Servlet开发入门
  3. ubuntu中常用指令
  4. 线性回归、逻辑回归及SVM
  5. node sqlite 插入数据_安卓手机中的应用数据都保存在哪些文件中?
  6. 计算机专业黑板报迎新,大学开学迎新黑板报
  7. oracle外键如何创建索引,子表建立外键的索引问题
  8. mysql优化说明_MySQL性能优化各个参数解释说明
  9. 怎么用python找论文_如何利用Python绘制学术论文图表方法
  10. linux 存储映射lun 给_如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘 | Linux 中国