1 1 GIT教程筆記之基本概念和管理修改

2021-10-17 03:30:50 字數 3799 閱讀 6983

安裝基本概念

工作區和暫存區

管理修改

刪除檔案

廖雪峰部落格教程

分布式版本控制系統

svn等版本控制系統速度慢,且要聯網才能使用

linus兩周用c寫了分布式版本控制系統,即git,牛的

分布式版本控制系統

$ git config --global user.name "your name"

$ git config --global user.email "[email protected]"

$ mkdir learngit

$ cd learngit

$ pwd

/users/michael/learngit

git init # 把目錄變成git可以管理的倉庫

word也是二進位制檔案,所以沒法追蹤改動

window自帶的記事本有個問題:當儲存utf-8編碼的檔案,他們自作聰明地在每個檔案開頭新增了0xefbbbf(十六進製制)的字元,會遇到很多不可思議的問題,比如,網頁第一行可能會顯示乙個「?」,明明正確的程式一編譯就報語法錯誤,等等,都是由記事本的弱智行為帶來的

git add readme.txt

git add file2.txt file3.txt

git commit -m 「wrote a readme file」

git status

on branch master

changes not staged for commit:

(use "git add ..." to update what will be committed)

(use "git checkout -- ..." to discard changes in working directory)

modified: readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

$ git diff readme.txt 

diff --git a/readme.txt b/readme.txt

index 46d49bf..9247db6 100644

--- a/readme.txt

+++ b/readme.txt

@@ -1,2 +1,2 @@

-git is a version control system.

+git is a distributed version control system.

git is free software.

git add readme.txt

在執行第二步git commit之前,我們再執行git status看看當前倉庫的狀態:

$

gitstatus

onbranch

master

changes

tobe

committed:

(use

"git reset head ..."

tounstage

)modified:

readme

.txt

$

gitcommit

-m"add distributed"

[master e475afc

] add

distributed

1file

changed,1

insertion(+

),1deletion(-

)

$

gitstatus

onbranch

master

nothing

tocommit

,working

tree

clean

$

gitlog

--pretty

=oneline

1094

adb7b9b3807259d8cb349e7df1d4d6477073

(head

->

master

)gpl

e475afc93c209a690c39c13a46716e8fa000c366

adddistributed

eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0

wrote

areadme

file

$

gitreset

--hard

head

^head

isnow

ate475afc

adddistributed

$

gitreset

--hard

1094

ahead

isnow

at83

b0afe

gpl

$

gitstatus

onbranch

master

changes

notstaged

forcommit:

(use

"git add ..."

toupdate

what

will

becommitted)(

use"git checkout -- ..."

todiscard

changes

inworking

directory

)modified:

readme

.txt

untracked

files:

(use

"git add ..."

toinclude

inwhat

will

becommitted

)license

nochanges

added

tocommit

(use

"git add"

and/

or"git commit -a"

)

總之,就是讓這個檔案回到最近一次git commit或git add時的狀態

git checkout – file命令中的–很重要,沒有–,就變成了「切換到另乙個分支」的命令

$

gitrm

test

.txt

rm'test.txt'

$git

commit

-m"remove test.txt"

[master d46f35e

] remove

test

.txt

1file

changed,1

deletion(-

)delete

mode

100644

test

.txt

$

gitcheckout

--test

.txt

Git簡明教程一 基本概念

文字是寫給新手的git入門教程。本文的目的是讓新手能夠快速了解並開始使用git,因此只會介紹最基本 同時也是最核心的知識。其中包括使用git的基本步驟和git中最常用的命令,以及如何使用github託管自己的 git 讀作 git 給特 而不是 jit 吉特 這是新手最常問的問題。我也曾在心裡產生過...

Git的基本概念和操作

第一課 git 誰與爭鋒 什麼是版本控制系統?vcs version control system 是持程式 管理軟體的統稱,是用來儲存程式檔案的修改記錄以及歷史版本,以便日後檢視或使用。傳統的vcs是集中管理和控制,每次只能乙個人預先鎖定檔案並進行修改,存在效率低的問題 但是如果修改的人很多,需要...

我的Git筆記開篇 基本概念

趁著過年,我把之前學習過的git內容好好整理了一下,準備寫幾篇關於git的部落格,一方面可以加深我對git的認識,另一方面也希望可以幫助到有需要的小夥伴。我在使用git工具的時候,經常會碰到這樣幾個概念 倉庫 引用 工作區 物件。這幾個概念可以說是git學習的核心點了,只要把這幾個概念弄清楚,後面使...