學習 Git的路程
學習 git add / git commit -m "" 時,先手動建立了一個 readme.txt 時,過程如下
心得:原來是沒修改,一直提交不上去。 居然可以跟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"
3,小結: git status 可以隨時掌握工作區的狀態
如果 git status告訴你文件被修改過了,可以用 git diff 查看修改了哪些地方
2015年12月2日
1,當多次修改又多次提交時, git log 命令可以告訴我們歷史記錄。就像下面這樣
2,若上面的版本信息過多,可以用 git log --pretty=oneline,可以把每個版本只用一行顯示
git reset --hard HEAD^ 回退上一個版本,
git reset --hard HEAD^^ 回退上2個版本,
git reset --hard HEAD~100 回退上100個版本,
3,會退的時候也可以指定版本號 git reset --hard 98e560a...... 版本號不用寫全,Git會自動去找。
4,當你回退了很多步,又記不住的時候,可以用 git reflog 記錄輸入的每一次命令
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的暫存區。 就像下面這個圖一樣
3,總結一下: 我們可以操作的區域成為工作區, 當有東西修改時,用git add可以提交到暫存區。
再用commit就可以把所有暫存區中的內容提交到分支(注意:是所有暫存區中的內容)。
當提交到分支,對工作區又沒有修改是,工作區就是干凈的(有內容),而暫存區就沒有內容了。可以用 git status 查看工作區的狀態。
2015-12-04
1,強調一下要區分 工作區 --add--> 暫存區 --commit--> 分支 的概念 。不要搞混了
2, git add 只是把工作區的內容提交到暫存區。 git commit -m "" 是 把所有暫存區中的內容提交到分支
3,git diff HEAD --readme.txt 可以查看工作區和版本庫中最新的版本的區別。實例如下
小結: 每次修改,如果不add到暫存區,或沒有commit到分支。那就都是沒有提交
2,撤銷修改: git checkout -- 文件名 :就是讓對應的文件在工作區的修改全部撤銷(回到最近一次git commit或 git add的狀態)。就像這樣
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是公鑰,可以放心告訴別人。就像這樣
(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