學習 Git的路程

jopen 8年前發布 | 11K 次閱讀 Git 版本控制系統

學習 git add / git commit -m ""  時,先手動建立了一個 readme.txt 時,過程如下

學習 Git的路程

心得:原來是沒修改,一直提交不上去。  居然可以跟Linux的終端一樣使用,vi也是,哈哈

 

2015年11月27  更新

1,已經提交了一個readme.txt,假設我們進行了修改,就可以 用 git status 查看結果,這個命令讓我們隨時掌握倉庫的當前狀態。

2,git diff readme.txt 可以查看你修改了什么地方。

3,接著我們提交修改過的內容 

git add readme.txt

git commit -m "1127 change"

學習 Git的路程

3,小結:  git status 可以隨時掌握工作區的狀態

如果 git status告訴你文件被修改過了,可以用 git diff 查看修改了哪些地方

 

2015年12月2日

1,當多次修改又多次提交時, git log 命令可以告訴我們歷史記錄。就像下面這樣

學習 Git的路程

2,若上面的版本信息過多,可以用 git log --pretty=oneline,可以把每個版本只用一行顯示

git reset --hard HEAD^ 回退上一個版本,

git reset --hard HEAD^^  回退上2個版本,

git reset --hard HEAD~100  回退上100個版本,

學習 Git的路程

 

3,會退的時候也可以指定版本號  git reset --hard 98e560a......     版本號不用寫全,Git會自動去找。

4,當你回退了很多步,又記不住的時候,可以用 git reflog  記錄輸入的每一次命令

學習 Git的路程

4,總結: git log 查看提交歷史,可以看版本, git log --pretty=oneline,可以把每個版本只用一行顯示

                 git reset --hard 版本號/HARD^    用來回退

git reflog 查看以前輸過的命令

 

2015-12-03

1,工作區:就是你在電腦里能看見的目錄

2,版本庫:工作區里有個隱藏的目錄 ".git"。就是Git的版本庫

存了很重要的東西(1)暫存區(stage)  (2)Git為我們創建的第一個分支master (3)還有指向master的指針HEAD

3,暫存區:版本庫里存了很多東西,最重要的就是成為stage的暫存區。  就像下面這個圖一樣

學習 Git的路程

3,總結一下: 我們可以操作的區域成為工作區, 當有東西修改時,用git add可以提交到暫存區。

再用commit就可以把所有暫存區中的內容提交到分支(注意:是所有暫存區中的內容)。

                  當提交到分支,對工作區又沒有修改是,工作區就是干凈的(有內容),而暫存區就沒有內容了。可以用 git status 查看工作區的狀態。

 

2015-12-04

1,強調一下要區分 工作區  --add-->  暫存區   --commit-->    分支    的概念 。不要搞混了

2, git add 只是把工作區的內容提交到暫存區。   git commit -m "" 是 把所有暫存區中的內容提交到分支

3,git diff HEAD --readme.txt  可以查看工作區和版本庫中最新的版本的區別。實例如下

學習 Git的路程

小結: 每次修改,如果不add到暫存區,或沒有commit到分支。那就都是沒有提交

 

2,撤銷修改: git checkout -- 文件名 :就是讓對應的文件在工作區的修改全部撤銷(回到最近一次git commit或 git add的狀態)。就像這樣

學習 Git的路程

 

3,同樣的道理,也可以撤銷在暫存區的修改  git reset HEAD readme.txt   把暫存區的東西重新放回去了

git reset 命令可以用來回退版本,也可以把暫存區的修改放回工作區。 當我們用HEAD時,表示最新的版本。

4,小結:場景1:若只是修改了工作區的內容, git checkout -- 文件名 ,可以直接丟棄工作區的修改。

場景2:若已經提交到了暫存區,用git reset HEAD 文件名,直接回到場景1.

場景3:若已經提交到了分支,參看上面的版本回退。     (git reset --hard 版本號/HARD^    用來回退)

 

2015-12-07

1,刪除文件: 假設你創建了一個文件rmtest.txt,并且添加進來版本庫中,在工作區執行 rm rmtest.txt  。這個時候版本庫中的文件還存在。

若想版本庫中文件也刪除,則執行git rm rmtest.txt

若是剛剛刪錯了,則git chexkout -- rmtest.txt   則是勇版本庫中的文件替換工作區中的文件。(刪除和修改都可以進行還原)

2,遠程倉庫:Git的殺手級工具

2.1 Git是分布式版本控制系統,同一個Git庫,可以分布到不同的機器中。

2.2 實際情況是,一臺電腦做服務器,24小時開機,其他人從這個服務器倉庫克隆到自己的電腦中,并且各自把各自的提交推送到服務器倉庫里。

2.3 可以自己搭建Git服務器(不推薦,因為我不會)。

在GitHub網站注冊一個賬號,就可以免費獲得一個Git遠程倉庫了。

2.4 步驟:

(1)自己申請一個GitHub賬號,

(2)然后在Git Bash中輸入: ssh-keygen -t rsa -C "yourmain@example.com",然后一路回車

(3)若一切順利,會在用戶主目錄下生成一個 .ssh目錄。這個目錄有兩個文件,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心告訴別人。就像這樣

學習 Git的路程

(4)登錄GitHub,打開"Account setings", “SSH Keys”頁面。點擊"Add SSH Key"。填上任意的Title,在key文本框粘貼id_rsa.pub文件的內容。這樣就ok了。

2.5為什么需要SSH Key:因為GitHub需要識別你推送的提交確實是自己推送的,不是別人冒充的。(大概就是,想要推送東西到庫里,一定要是信任過的電腦)

2.6 GitHub允許添加多個Key,這樣就可以多臺電腦都推送東西到庫里了。

2.7 友情提示:GitHub免費托管的東西,任何人都可以看(自己才能改),所以不要放敏感信息。

來自: http://www.cnblogs.com/xcywt/p/4999281.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!