1. 程式人生 > >Git其實很可愛(新手初學掙扎之路)

Git其實很可愛(新手初學掙扎之路)

    Git是世界上最先進的分散式版本控制系統(沒有之一),
    新手學習它,廖雪峰的教程確實再合適不過:
    
    [Git教程-廖雪峰的官方網站]            
    
    (https://www.liaoxuefeng.com/wiki/
    0013739516305929606dd18361248578c67b8067c8c017b000)
    
    然而,喜歡自虐找事的我還是遇到了不少小問題。它們是:
    
    1.讓人煩躁的please make sure you have the correct 
      access rights and the repository exsits.
      其實是SSH密匙的問題。
      要解決,首先得註冊一個Github賬號。
      然後有三件事要做:
    ㈠、在Git中輸入命令:$ ssh-keygen -t rsa -C "
[email protected]
" (郵件地址當然要填自己的), 然後一路回車,之後就可以從電腦裡,直接在使用者目錄裡 找到.ssh資料夾,用word可以開啟id_rsa.pub這個檔案,複製全部內容。 ㈡、登陸Github,進入Settings >> SSH and GPG keys >> New SSH key, 將上一步複製的內容貼上到Key下面的框裡,Title隨意, 然後點選Add SSH key就可以啦。 ㈢、現在驗證下key是不是正常工作,在Git裡輸入 $ ssh -T
[email protected]
,然後會跳出一堆話, 輸 yes ,如果看到Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access.就大功告成啦。 2.然後問題又來了,明明設定了SSH,怎麼再次push的時候就不可以。 這個時候重複進行一下上面的 ㈢ 就可以啦。 (每次都重新建立SSH的我實在太傻了) 順便一提,關於push,得先輸入: git pull origin master 把遠端庫的檔案拉下來後, 再輸入: git push origin master ,其實很簡單。 3.當commit命令輸錯或其他命令要求確認時,會遇到 please enter the commit message for your changes, 這時就需要輸入解釋: (1)按鍵盤字母i進入insert模式; (2)修改最上面那行黃色合併資訊,可以不修改; (3)按鍵盤esc鍵(就可以在最下面輸入了); (4)輸入 “:wq” 注意不要掉冒號,再回車就可以啦。 問題暫時就是這麼多了,現在來說說心得。 確實,git的命令太多,但“既然Git是一個工具, 就沒必要把時間浪費在那些“高階”但幾乎永遠不會用到的命令上。”(----廖雪峰) 所以,我在這裡列舉出作為新手,必須理解、熟練、深愛(?)的常用命令, 附帶自己對它們的認識: mkdir 資料夾名 //建立資料夾 ★cd 資料夾名 //進入這個資料夾 pwd //顯示路徑(在電腦哪裡) git init //倉庫初始化(變成受git控制) ★git add 檔名 //把修改新增到倉庫(stage中) ★git commit -m "此次修改" //把修改提交到倉庫(master或別的分支中) git status //檢視倉庫的操作狀態 git diff //檢視修改內容 git log //檢視提交歷史(只想看commit id 就用git log --pretty=oneline) git reflog //檢視命令歷史 git reset --hard HEAD^ git reset --hard HEAD~100 //回退版本 git reset --commit id git checkout -- 檔名 //撤銷工作區的全部修改,包括刪除 git reset HEAD 檔名 //把暫緩區的修改回退到工作區 rm 檔名 //工作區刪除檔案 git rm 檔名 //暫緩區刪除檔案 git commit -m "remove 檔名" //版本庫中刪除檔案 cat 檔名 //檢視檔案內容 ls //檢視資料夾內容 ssh-keygen -t rsa -C "
[email protected]
" //建立SSH ssh -T [email protected] //檢查SSH密匙是否正常工作 ★git remote add origin 遠端倉庫地址 //關聯遠端倉庫 (origin可自改其他名稱) ★git remote -v //檢視遠端庫資訊 ★git remote rm origin //取消關聯 ★git clone 倉庫地址 //在本地克隆出一個一樣的遠端倉庫 ★git push origin master //把本地master分支的最新修改推送到遠端庫 ★git pull origin master //將遠端庫更新到本地的master分支