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.pswp.cn/news/457638.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457638.shtml
英文地址,請注明出處:http://en.pswp.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…