git 笔记

版本库
1.repository
在一个合适的地方,创建一个空目录
$ mkdir learngit
$ cd learngit
$ pwd
/User/leon/learngit
pwd命令用于显示当前的目录,在我的电脑上,这个仓库位于/user/michael/learngit
2.git init 将当前目录变成git 可以管理的仓库。
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了
3. 添加文件到git仓库,总共分两步
3.1 git add <file>,注意可以反复使用,添加多个文件。
3.2 使用git commit命令
  其中,git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录
不输入这个也可以,但是强烈不建议这样做。  
add 每次提交一个文件,add可以多次add不同的文件。
4. git status 掌握工作区的状态
git status告诉你有文件修改过,git diff 可以查看修改的内容。
修改文件和提交新文件一样步骤,
5.git log 显示从近到最远的提交日志,我们可以看到三次提交,最近的一次是 append GPL,上一次是add dist
6.版本回退,git reset - -hard 123456
版本号会模糊查找,
git reflow 记录一次命令,可以在关机之后 查找到那个
7.git 记录的是修改而不是文件
每次修改都是先 add 到暂存区,之后再commit 
8.撤销修改
git checkout 会撤销修改。git checkout - - test.txt 文件在工作区的修改全部撤销。
两种情况:1)text.txt 修改后还没有放到暂存区,
2)test.txt 已经添加到暂存区,又做了修改,撤销修改就回到了添加到暂存区后的状态。
文件回到最后一次的 git commit 或者 git add 时候的状态。
需要注意的是 git checkout 中的 - - 很重要。缺了就编程切换到另一个分支
小结:
1.当你改乱了工作区的某个文件的内容,想直接丢弃工作区的修改的时候,用git checkout — file
2.不但改乱了工作区的某个文件,还添加到了暂存区的时候,想丢弃修改,
2.1 get reset HEAD file 回到了场景1,第二步按照场景1来操作。  
3.已经提交了不合适的修改到版本库的时候,想要撤销本次提交,参考版本 6 版本回退,不过前提是没有推送到远程库
9.删除文件
$ rm test.txt 就是用命令行删除本地工作区的文件,或者直接自己删除
这时候用 git status 可以看到你哪些文件被删除
现在有两个选择,
1)从版本库中删除,git rm  之后 git commit
$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt
这样文件就从版本库中删除了
2)如果你删除错了,git checkout - - text.txt
小结:
其实, git checkout 就是用版本库里的版本替换工作区的版本,任何情况都可以一键还原
git rm用于删除一个文件,如果一个文件已经被提交到版本库,那么不需要担心误删除,
需要注意的是你只能回复文件到最新的版本

转载于:https://www.cnblogs.com/helloLeon/p/5663225.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

github 开源 代码 学习 集合(转载)

一个支持多种item类型的recycleView依赖注入库 1.通过注解的方式方便的把ViewHolder注入到recycleView中。 2.去除findViewByID等冗余操作。 3.去除编写adapter那些冗余逻辑&#xff0c;只需要编写proxy和holder即可快速的实现淘宝首页那样复杂的页面。https://github.com/s94…

JS_12 DOM

DOM 操作 HTML DOM Document Object Model&#xff0c;文档对象模型&#xff0c;用js操作文档对象 [外链图片转存失败(img-Dygj4uK9-1562680086020)(image/domtree.gif)] 节点&#xff1a;构成网页最基本的部分&#xff0c;网页的每一部分都是一个节点 文档节点&#xff1a;…

星星排序python_python中怎么实现星星排列

python中怎么实现星星排列&#xff1f;下面给大家带来几种排列阵型。星星阵型1def stars1(n):for i in range(1,n1):str "*"*iprint strif __name__ "__main__":stars1(5)星星阵型2def stars2(n):for i in range(1,n1):str **(n1-i)print strif __name_…

Kendo UI开发教程:Kendo UI模板概述

2019独角兽企业重金招聘Python工程师标准>>> Kendo UI框架提供了一个易用&#xff0c;高性能的JavaScript模板引擎。通过模板可以创建一个HTML片段然后可以和JavaScript数据合并成最终的HTML元素。Kendo 模板侧重于UI显示&#xff0c;支持关键的模板功能&#xff0c…

JS_13原型与原型链

原型与原型链 原型 每一个函数都有一个属性&#xff1a;prototype,默认指向object空对象&#xff0c;就是原型对象,原型对象有一个constructor属性&#xff0c;指向函数对象每一个实例化对象都有一个属性 proto ,默认指向构造函数的原型对象&#xff08;是构造函数原型对象的…

ajax数据保存及解析

1. $(#frmCam).serialize()&#xff1b;serialize() 方法通过序列化表单值&#xff0c;创建 URL 编码文本字符串。 2.自动对应ID和值 window.camConfig [<%(camConfig) %>]; if (camConfig.length>0) { for(var property in cam…

python和revit_pyRevit系列教程1

有没有人和我一样&#xff0c;想要自己写一些小功能来用(zhuang)用(bi)&#xff0c;但苦于C#太难学了&#xff0c;不得不作罢。话说感受过Python的美好&#xff0c;怎么能忍受C#的大括号&#xff01;毕竟人生苦短&#xff0c;我用Python&#xff01;好吧&#xff0c;我承认是我…

【leetcode】104. Maximum Depth of Binary Tree

1. 题目 Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 2. 思路 递归到左、右子树的max值&#xff0c;1. 3. 代码 /*** Definition for a binary tree …

JS_14 执行上下文与执行上下文栈

执行上下文和执行上下文栈 变量提升和函数提升 变量提升 所用使用var定义的变量&#xff0c;在程序运行前会被先定义&#xff0c;并赋初值为underfind&#xff0c;保存到其执行上下文中 函数提升 在调用函数&#xff0c;执行函数体之前&#xff0c;会先执行函数定义&#xff…

shell编程-变量

1.Bash用户自定义变量 【局部变量】 【按数据存储分类】&#xff1a;整型、浮点型、字符串型、日期型 【变量定义】&#xff1a;x5,y6,z$x$y56,m$(($x$y))11 【Bash变量默认都为字符串型&#xff0c;等号左右不可以有空格】 【变量叠加】&#xff1a;x"$x"123,x${x}3…

JS_15作用域与作用域链

作用域与作用域链 作用域 类别 全局作用域函数作用域块作用域&#xff1a;Es6时出现&#xff0c;之前没有 作用域与执行上下文 区别 创建时机不同 全局作用域外&#xff0c;每个函数都有自己的作用域&#xff0c;作用域在函数创建时就创建了&#xff0c;而不是在调用时全局执…

多线程调用同一个对象的方法_多线程之如何创建和使用线程

一、创建线程和使用线程方式1.1 继承Thread让线程类继承自Thread类&#xff0c;然后重写run()&#xff0c;把需要多线程调用的代码放到run()中。但是需要开启线程的时候不能调用run方法&#xff0c;而是需要调用start()方法。/*** 本类用于演示第一种实现多线程的方式*/ class…

struts2的namespace的问题

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <inc…

JS_16闭包

闭包 什么是闭包 理解1&#xff1a;闭包是嵌套的内部函数理解2&#xff1a;闭包是包含被引用变量&#xff08;函数&#xff09;的对象 闭包产生的条件 函数嵌套子函数调用了父函数的数据父函数被调用了&#xff08;子函数不一定需要被调用&#xff0c;只需要执行函数定义即可&…

[Intel Edison开发板] 02、Edison开发板入门

一、前言 Start from the link: 开始学习的链接 上面链接是官网的教程&#xff0c;按照教程可以开发板入门&#xff1a; 其中第一步是了解开发板&#xff0c;涉及到如何组装、如何连线、一些主要的接口简单介绍等信息&#xff1b;第二步主要是介绍如何用官方提供的工具进行配置…

python apscheduler一次只有一个job_Python使用APScheduler实现定时任务过程解析

前言APScheduler是基于Quartz的一个Python定时任务框架。提供了基于日期、固定时间间隔以及crontab类型的任务&#xff0c;并且可以持久化任务。一、安装APSchedulerpip install apscheduler二、基本概念APScheduler有四大组件&#xff1a;1、触发器 triggers &#xff1a;触发…

java web service简单示例

http://www.iteye.com/topic/1135747 转载于:https://www.cnblogs.com/fycct/p/5669420.html

shell统计指定目录下所有文件类型及数量

#!/bin/bash#Synopsis:用于统计脚本当前所在目录或者用户指定目录下的所有文件类型及数量#若直接运行脚本而不接任何命令行参数,则默认会统计脚本所在目录下的文件#Date:2016/10#Author:Jian#Usage:sh fileStat.sh /path1 /path2testFile$(mktemp /tmp/testfile.XXX)#如果没有指…

python cross val score_sklearn函数:cross_val_score(交叉验证评分)

sklearn.model_selection.cross_val_score(estimator,X,yNone,*,groupsNone,scoringNone,cvNone,n_jobsNone,verbose0,fit_paramsNone,pre_dispatch2*n_jobs,error_scorenan)前面我们提到了4种分割数据集的方法&#xff0c;在分割完数据集后&#xff0c;我们训练模型&#xff0…

JS_17 ES5,ES6

ES5 严格模式 定义方法 use strict特性&#xff1a; 必须使用var定义变量存在eval作用域禁止自定义函数中的this指向window对象不能有重名属性 JSON对象 json.stringify(obj/arr):js对象转换为json对象json.parse(str):json对象转换为js对象 Object拓展 Object.create(p…