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单人本地仓库操作的更多相关文章

  1. Git单人本地仓库操作

    本地仓库是个.git隐藏文件 以下为演示Git单人本地仓库操作 1.安装git sudo apt-get install git 密码:skylark 2.查看git安装结果 git 3.创建项目 在 ...

  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. 浅谈python面向对象编程和面向过程编程的区别

    面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候再一个个的依次调用即可. 优点:性能高 缺点:相较于面向对象而言,不易维护,不易复用,不易扩展 适合于小型的项目面向对象 ...

  2. 关于jQuery MiniUI

    jQuery MiniUI v3.0 jQuery MiniUI - 专业WebUI控件库.它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验. http ...

  3. python中list的运算,操作及实例

    在操作list的时候,经常用到对列表的操作运算,比如说,列表添加,删除操作,其实,这里面经常回遇到这样一个问题,就是列表的操作容易被混淆了. 有人做了一个总结,这个很清晰,我就不多做阐述了: 1.ap ...

  4. jQuery-实现简单的Ajax请求封装

    封装的意义在于复用,在于减少重复的代码. 我在项目中做了简单的Ajax请求封装,实现方式如下: //封装Ajax请求 $.extend({ ajaxDirect:function(url,type,d ...

  5. 【Unity游戏开发】性能优化之在真机上开启DeepProfile与踩坑

    一.引子 最近马三入职了新公司,平时除了负责编辑器开发之外还要做一些游戏性能优化方面的工作.在这里首先给大家安利一下Unity官方的性能测试分析工具URP ,这个工具目前是免费,测试的过程中也不需要接 ...

  6. js之好看的鼠标点击-光标特效

    1.光标特效 <script src="https://blog-static.cnblogs.com/files/axqa/bubbleCursor.js">< ...

  7. 1025 PAT Ranking 双重排序

    Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Zhe ...

  8. java基础(6):方法

    1. 方法 1.1 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可 ...

  9. 关于angularjs异步操作后台请求时,用$q.all排列先后顺序的问题

    最近我在做angularjs程序时遇到了一个问题 1.页面有很多选择框,一个选择框里面有众多的选择项,和一个默认选定的项,像下面这样(很多选择框,不只一个): 2.众多的选项要从后台接口得到,默认项从 ...

  10. 那些你不知道的Mac截屏功能

    今天介绍Mac的截图功能,如果你以为Shift + Command + 3 / 4就是Mac全部的截屏功能的话,那你小看Mac了.它远比你想得强大. 1.Shift + Cmd + 3 ——截取全屏 ...