git 與 github

CVS及SVN都是集中式的版本控制系統,而Git是分佈式版本控制系統


傻瓜式安裝,完成後在開始菜單找到git Bash 進入命令行

安裝完成後,還需要最後一步設置,在命令行輸入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"



創建版本庫
首先cd 到你的目錄  mkdir一個你的版本庫目錄
第二步,通過git init命令把這個目錄變成Git可以管理的倉庫



使用notpid++編寫txt文件保存到版本庫

然後通過 git add 添加
git commit -m ‘說明’提交
添加文件到Git倉庫,分兩步:
  • 第一步,使用命令git add <file>,注意,可反覆多次使用,添加多個文件;
  • 第二步,使用命令git commit,完成

例:
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

多次提交後可以使用 git log查看提交日誌  git log --pretty=oneline可以簡化輸出


多次提交會有多種不同的版本
git reset --hard HEAD^
退回版本  reset --hard HEAD^    一個^代表退回一個版本  多個^代表退回多個版本





Git提供了一個命令git reflog用來記錄你的每一次命令

可以查找退回之前的版本號

拿到之前退回的版本號就可以從退回後的版本回到退回前的版本了


一旦修改或者新增內容時可以通過 git status 來查看狀態
這是沒有add 時的狀態

這是add但沒有commit的狀態

這是commit之後的狀態


從工作區到版本庫的圖解

現在,你又理解了Git是如何跟蹤修改的,每次修改,如果不add到暫存區,那就不會加入到commit中。

$ git checkout -- readme.txt  丟掉工作區的修改

$ git reset HEAD readme.txt  撤銷暫存區的修改


如果你在工作區像去掉自己的修改 使用 git checkout -- file.txt
如果你已經add到暫存區在想修改 使用 git reset HEAD file.txt 再使用git checkout -- file.txt


場景1:當你改亂了工作區某個文件的內容,想直接丟棄工作區的修改時,用命令git checkout -- file
場景2:當你不但改亂了工作區某個文件的內容,還添加到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。



命令git rm用於刪除一個文件。如果一個文件已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復文件到最新版本,你會丟失最近一次提交後你修改的內容


一般情況下,你通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪了:
$ rm test.txt
這個時候,Git知道你刪除了文件,因此,工作區和版本庫就不一致了,git status命令會立刻告訴你哪些文件被刪除了:
$ git status
# On branch master# Changes not staged for commit:# (use "git add/rm <file>..." to update what will be committed)# (use "git checkout -- <file>..." to discard changes in working directory)## deleted: test.txt#
no changes added to commit (use "git add" and/or "git commit -a")
現在你有兩個選擇,一是確實要從版本庫中刪除該文件,那就用命令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
現在,文件就從版本庫中被刪除了。
另一種情況是刪錯了,因爲版本庫裏還有呢,所以可以很輕鬆地把誤刪的文件恢復到最新版本:
$ git checkout -- test.txt
發佈了40 篇原創文章 · 獲贊 48 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章