安裝基本概念
工作區和暫存區
管理修改
刪除檔案
廖雪峰部落格教程
分布式版本控制系統
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.txtgit 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學習的核心點了,只要把這幾個概念弄清楚,後面使...