01-Git单人本地仓库操作
Git源代码管理
Git(多人协同开发同一个项目),作用就是源代码管理,为什么需要源代码管理呢,方便多人协同开发,并且方便版本控制。
Git管理源代码特点:
1、Git是分布式管理。服务器和客户端都有版本控制能力,通过代码的提交与合并。(意思就是说每台电脑都可以有版本控制能力,代码管理能力)。

2、Git会在根目录下创建一个.git隐藏文件夹,作为本地代码仓库。
Git操作流程:
Git服务器------>本地仓库(.Git)-------->客户端------->本地仓库------>Git服务器

从图中可以看出,从远程仓库clone数据到本地仓库(.git),然后在客户端上编辑等,commit到本地仓库,然后在把本地仓库push给远程仓库(即服务器仓库),远程仓库pull到本地仓库,在到客户端。
工作区暂存区和仓库区
工作区:
对于添加,修改,删除文件的操作,都发生在工作区中。
暂存区:
暂存区指将工作区中的操作完成小阶段的存储,是版本库的一部分。
仓库区:
仓库区表示个人开发的一个小阶段的完成
1、仓库区中记录的各版本是可以查看并回退的
2、但是在暂存区的版本一旦提交就再也没有了

Git单人本地仓库操作
本地仓库是个隐藏文件(.git)。
1、安装git(linux系统)(windows百度)
sudo apt-get install git
2、检查安装结果
git
3、创建项目(linux直接在桌面创建文件夹)
在F盘目录下创建一个文件夹gitTest,表示工作项目:
4、创建本地仓库
进入到刚才创建的gitTest,并创建本地仓库.git,新建的本地仓库是个空仓库。
1、

2、创建仓库
git init

出现上面英文表示安装成功空仓库。
5、配置个人信息
git config user.name 'lishuntao'
git config user.email '1259553287@qq.com'



打开查看隐藏文件,因为我们创建的项目是隐藏的。
6、新建py文件
在项目文件gitText里面创建login.py文件,用于演示。

7、查看文件状态
git status

红色表示新键文件或者新修改的文件,都在工作区。绿色表示文件在暂存区。新建的login.py文件在工作区,需要添加到暂存区并提交到仓库区。
8、将工作区文件添加到暂存区
git add login.py#添加指定文件 git add . #添加所有文件

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

10、接下来可以在login.py文件中编辑代码
代码编辑完成后即可进行add和commit操作,还有添加和提交的合并命令:
git commit -am "版本描述"
11、查看历史版本
git log git reflog#都是一样的

12、回退版本
1、
HEAD表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本,以此类推...
HEAD~1表示当前最新版本的前一个版本
HEAD~10表示当前最新版本的前10个版本,以此类推...
git reset --hard HEAD^


2、当版本非常多的时候选择的方案(通过每个版本的版本号回退到指定版本)
git reset --hard 版本号


文件为空!!!!说明跳转到第一次的版本了。
13、撤销修改
只能撤销工作区、暂存区的代码,不能撤销仓库区的代码。撤销仓库区的代码就相当于回退版本操作。
撤销工作区代码
git checkout 文件名

撤销暂存区代码
# 第一步:将暂存区代码撤销到工作区
git reset HEAD 文件名
# 第二步:撤销工作区代码
git checkout 文件名

14、对比版本库
新加代码 sum4 = 40,不add到暂存区:
对比版本库与工作区:
git diff HEAD -- login.py

对比版本库
git diff HEAD HEAD^ -- login.py

15、删除文件:删除文件分为确定删除和误删
在项目中新建test.py文件,并添加暂存区和提交到仓库。
确定删除处理:
# 删除文件
rm 文件名
# git确定删除文件,对比添加文件git add
git rm 文件名
# 删除后记录删除操作版本
git commit -m '删除描述'

误删处理:撤销修改即可:
# 删除文件(误删)
rm 文件名
# git撤销修改
git checkout -- 文件名
01-Git单人本地仓库操作的更多相关文章
- Git单人本地仓库操作
本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站
github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...
- 使用Git初始化本地仓库并首次提交代码
本文介绍使用Git初始化本地仓库,并首次提交代码到远程仓库GitLab上面. 首先,登录GitLab,创建一个新项目的私人仓库: 然后,在本地仓库(就是你写代码文件夹),右键,Git Bash Her ...
- 使用 Git 删除本地仓库和远端仓库文件
使用 git bash 来删除 一.将文件(夹)添加到暂存区 这里假设本地和远端都有一个 test.txt 文件先在本地删除,通过 ·git status 查看通过git add test.txt 添 ...
- git原理-本地仓库认识
项目人员使用git,几乎70%的工作都是在本地仓库完成的.由此可见本地仓库的重要性. 下面我们就通过一些基本的命令讲下git的本地仓库的结构,存储流程,数据类型,如何存储...... 仓库结构 大家都 ...
- 和同事合作开发,使用局域网 git创建本地仓库
转自原文 和同事合作开发,使用局域网 git创建本地仓库 1.仓库 建一个空文件夹来做仓库,例如建为 cangku 1.1 cd 到 cangku目录下 创建远程仓库容器 mkdir mycangk ...
- Git创建本地仓库&把pycharm项目添加GitHub仓库上
一.创建本地仓库 1.1.下载Git地址:https://git-scm.com/downloads 下载完,一路next就可以 1.2.打开Git Bash输入: #创建一个learngit目录 $ ...
- 如何使用Git建立本地仓库并上传代码到GitHub
使用Git建立本地仓库并上传代码到GitHub 工具/原料 电脑安装git客户端.注册github账号并登陆 方法/步骤 到本地项目文件夹右键选择git bash here 输入个人信 ...
随机推荐
- 浅谈python面向对象编程和面向过程编程的区别
面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候再一个个的依次调用即可. 优点:性能高 缺点:相较于面向对象而言,不易维护,不易复用,不易扩展 适合于小型的项目面向对象 ...
- 关于jQuery MiniUI
jQuery MiniUI v3.0 jQuery MiniUI - 专业WebUI控件库.它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验. http ...
- python中list的运算,操作及实例
在操作list的时候,经常用到对列表的操作运算,比如说,列表添加,删除操作,其实,这里面经常回遇到这样一个问题,就是列表的操作容易被混淆了. 有人做了一个总结,这个很清晰,我就不多做阐述了: 1.ap ...
- jQuery-实现简单的Ajax请求封装
封装的意义在于复用,在于减少重复的代码. 我在项目中做了简单的Ajax请求封装,实现方式如下: //封装Ajax请求 $.extend({ ajaxDirect:function(url,type,d ...
- 【Unity游戏开发】性能优化之在真机上开启DeepProfile与踩坑
一.引子 最近马三入职了新公司,平时除了负责编辑器开发之外还要做一些游戏性能优化方面的工作.在这里首先给大家安利一下Unity官方的性能测试分析工具URP ,这个工具目前是免费,测试的过程中也不需要接 ...
- js之好看的鼠标点击-光标特效
1.光标特效 <script src="https://blog-static.cnblogs.com/files/axqa/bubbleCursor.js">< ...
- 1025 PAT Ranking 双重排序
Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...
- java基础(6):方法
1. 方法 1.1 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可 ...
- 关于angularjs异步操作后台请求时,用$q.all排列先后顺序的问题
最近我在做angularjs程序时遇到了一个问题 1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个): 2.众多的选项要从后台接口得到,默认项从 ...
- 那些你不知道的Mac截屏功能
今天介绍Mac的截图功能,如果你以为Shift + Command + 3 / 4就是Mac全部的截屏功能的话,那你小看Mac了.它远比你想得强大. 1.Shift + Cmd + 3 ——截取全屏 ...