• 本地仓库是个.git隐藏文件

以下为演示Git单人本地仓库操作

  • 1.安装git
sudo apt-get install git
密码:skylark
  • 2.查看git安装结果
 git
  • 3.创建项目
    • 在桌面创建test文件夹,表示是工作项目
 Desktop/test/
  • 4.创建本地仓库
    • 进入到test,并创建本地仓库.git
    • 新创建的本地仓库.git是个空仓库
 cd Desktop/test/
git init

    

    • 创建本地仓库.git

    

  • 5.配置个人信息
 git config user.name '张三'
git config user.email 'zhangsan@163.com'

    • 配置个人信息后

     

默认不配置的话,会使用全局配置里面的用户名和邮箱 全局git配置文件路径:~/.gitconfig

  • 6.新建py文件
    • 在项目文件test里面创建login.py文件,用于版本控制演示

     

  • 7.查看文件状态
    • 红色表示新建文件或者新修改的文件,都在工作区.
    • 绿色表示文件在暂存区
    • 新建的login.py文件在工作区,需要添加到暂存区并提交到仓库区
git status

  

  • 8.将工作区文件添加到暂存区
 # 添加项目中所有文件
git add .
或者
# 添加指定文件
git add login.py

  

  • 9.将暂存区文件提交到仓库区
    • commit会生成一条版本记录
    • -m后面是版本描述信息

git commit -m '版本描述'

  

  • 10.接下来就可以在login.py文件中编辑代码
    • 代码编辑完成后即可进行addcommit操作
    • 提示:添加和提交合并命令

 git commit -am "版本描述"
    • 提交两次代码,会有两个版本记录

  • 11.查看历史版本
  git log
或者
git reflog

  

git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log 则不能察看已经删除了的commit记录

  • 12.回退版本

    • 方案一:

      • HEAD表示当前最新版本
      • HEAD^表示当前最新版本的前一个版本
      • HEAD^^表示当前最新版本的前两个版本,以此类推...
      • HEAD~1表示当前最新版本的前一个版本
      • HEAD~10表示当前最新版本的前10个版本,以此类推...

git reset --hard HEAD^

    • 方案二:当版本非常多时可选择的方案
      • 通过每个版本的版本号回退到指定版本 

 git reset --hard 版本号

   

  

  • 13.撤销修改
    • 只能撤销工作区、暂存区的代码,不能撤销仓库区的代码
    • 撤销仓库区的代码就相当于回退版本操作

      • 撤销工作区代码

        • 新加代码num3 = 30,不add到暂存区,保留在工作区        

git checkout 文件名

  

  

      • 撤销暂存区代码
        • 新加代码num3 = 30,并add到暂存区
# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名

  

  • 14.对比版本
    • 对比版本库与工作区

      • 新加代码num3 = 30,不add到暂存区,保留在工作区
      • git diff HEAD -- login.py

    • 对比版本库
      • 新加代码num3 = 30,并add到暂存区
      • git diff HEAD HEAD^ -- login.py

  • 15.删除文件:删除文件分为确定删除和误删
    • 在项目中新建test.py文件,并添加和提交到仓库

      • 确定删除处理:

# 删除文件
rm 文件名
# git确定删除文件,对比添加文件git add
git rm 文件名
# 删除后记录删除操作版本
git commit -m '删除描述'

  

      • 误删处理:撤销修改即可
 # 删除文件
rm 文件名
# git撤销修改
git checkout -- 文件名

  

Git单人本地仓库操作的更多相关文章

  1. 01-Git单人本地仓库操作

    Git源代码管理 Git(多人协同开发同一个项目),作用就是源代码管理,为什么需要源代码管理呢,方便多人协同开发,并且方便版本控制. Git管理源代码特点: 1.Git是分布式管理.服务器和客户端都有 ...

  2. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  3. github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站

    github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...

  4. 使用Git初始化本地仓库并首次提交代码

    本文介绍使用Git初始化本地仓库,并首次提交代码到远程仓库GitLab上面. 首先,登录GitLab,创建一个新项目的私人仓库: 然后,在本地仓库(就是你写代码文件夹),右键,Git Bash Her ...

  5. 使用 Git 删除本地仓库和远端仓库文件

    使用 git bash 来删除 一.将文件(夹)添加到暂存区 这里假设本地和远端都有一个 test.txt 文件先在本地删除,通过 ·git status 查看通过git add test.txt 添 ...

  6. git原理-本地仓库认识

    项目人员使用git,几乎70%的工作都是在本地仓库完成的.由此可见本地仓库的重要性. 下面我们就通过一些基本的命令讲下git的本地仓库的结构,存储流程,数据类型,如何存储...... 仓库结构 大家都 ...

  7. 和同事合作开发,使用局域网 git创建本地仓库

    转自原文 和同事合作开发,使用局域网 git创建本地仓库 1.仓库 建一个空文件夹来做仓库,例如建为 cangku 1.1 cd 到 cangku目录下 创建远程仓库容器 mkdir  mycangk ...

  8. Git创建本地仓库&把pycharm项目添加GitHub仓库上

    一.创建本地仓库 1.1.下载Git地址:https://git-scm.com/downloads 下载完,一路next就可以 1.2.打开Git Bash输入: #创建一个learngit目录 $ ...

  9. 如何使用Git建立本地仓库并上传代码到GitHub

    使用Git建立本地仓库并上传代码到GitHub 工具/原料   电脑安装git客户端.注册github账号并登陆 方法/步骤     到本地项目文件夹右键选择git bash here   输入个人信 ...

随机推荐

  1. Java设计模式—原型模式

    原型设计模式是一种比较简单的设计模式,在项目中使用的场景非常多. 个人理解: 原型模式实现了对Java中某个对象的克隆功能,即该对象的类必须implements实现Cloneable接口来标识为可被克 ...

  2. apk下载安装,存储的位置,路径

    PackageInstaller 原理简述 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作.APK是Android Package的缩写,即An ...

  3. DLL调用的两种方式(IDE:VC6.0,C++)

    原文:http://www.cnblogs.com/Pickuper/articles/2050409.html DLL调用有两种方式,一种是静态调用,另外一种是动态调用 (一)静态调用 静态调用是一 ...

  4. Windows(7)上不能启动MySQL服务(位于本地计算机上)错误1067 :进程意外终止

    就这段时间,很多人在抱怨为什么自己的MySQL又打不开问题. 就“Windows(7)上不能启动MySQL服务(位于本地计算机上)错误1067 :进程意外终止”这个问题,我想到了几种方案解决: 一.首 ...

  5. 在win7 windows 上编译 beego 上传到 linux 去执行

    在beego的项目目录下,执行: GOOS=linux GOARCH=amd64 go build So easy!但是却搞了好久! 参考连接:http://blog.csdn.net/changji ...

  6. 沉淀,再出发:Git的再次思考

    沉淀,再出发:Git的再次思考 一.前言 使用git也有很久了,后来有一段时间一直没有机会去使用,现在想来总结一下自己学习了这么长时间的一些心得感悟,我写的博客一般都是开了一个轮廓和框架,等到以后有所 ...

  7. std::unique实现

    std::unique适用于将排过序的数据结构重复的部分全部放在结尾 但用的时候发现会将原先容器中的内容改掉,看了源码发现这个函数会将不重复的数据结构直接覆盖到前一个重复的位置上,下面看源码 该函数s ...

  8. 记一种c++字符串格式化方法

    std::string str_fmt(const char * _Format, ...) { std::string _str; va_list marker = NULL; va_start(m ...

  9. jquery获取前一个月日期

    一) 重构Date对象: // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年 ...

  10. Codeforces Round #430 (Div. 2) 【A、B、C、D题】

    [感谢牛老板对D题的指点OTZ] codeforces 842 A. Kirill And The Game[暴力] 给定a的范围[l,r],b的范围[x,y],问是否存在a/b等于k.直接暴力判断即 ...