Git極簡學習筆記
git的學習筆記
1. 安裝git
2. 簡單開始
建立版本庫,即在需要編寫的程式碼的工作區建立,可以在git bash或者cmd中鍵入
git init
就會生成一個 .git
資料夾
假設倉庫中有了一些程式碼檔案,文字等比如 readme.txt
那麼接下來僅需要兩步就可以將一個檔案提交到倉庫,為什麼需要兩步呢,而不是直接直接提交,且記住一個重要概念:暫存區
第一步: 將檔案新增到Git倉庫git add readme.txt
第二步: 將檔案提交到倉庫,分號裡就是描述這次提交做了什麼事情git commit -m "wrote a file about readme"
而為什麼Git提交檔案到倉庫需要add、commit兩步呢? 因為commit
一次可以提交很多檔案,所以可以多次add
不同的檔案
可以透過git status
檢視目前檔案提交的狀態,包括更改,是否提交等
那麼如果新增了修改,但是不記得那些具體內容了,可以透過git diff readme.text
檢視修改的詳細內容
那麼這裡就有一些應用了,比如我們已經編寫程式碼並不斷修改提交多次到倉庫中了,但是我們如果誤操作比如刪除、改錯了,想要回退呢?
比如回退到昨天修改的檔案內容,那麼可以透過git log
檢視我們的提交記錄
目前看來這個功能意義不大,似乎是回退的一次提交的所有內容,即一天的工作都會回退了,再說這種回退極少應用到,需要再說吧
接下里解釋 工作區 和 暫存區, 工作區即存檔程式碼的顯式區域,而暫存區是git的,凡人看不著的,是存放在.git
中的,而第一步git add
實際就是將檔案放入暫存區中,第二步git commmit -m "..."
提交更改,即將暫存區的內容提交到當前分支中
當我們在建立git倉庫版本庫時,git自動為我們建立了一個唯一一個master分支
一句重要的話: Git 管理的是修改,即git始終提交的都是暫存區的內容,而暫存區的內容取決於新增到暫存區時刻的修改,git追蹤的是修改,而修改的狀態新增或提交都取決於使用者
上面提到回退確實挺麻煩的,但是撤銷修改確有一定的實用意義,是針對單個檔案的撤銷修改,其目的是
命令git checkout -- readme.txt
意思就是,把readme.txt
檔案在工作區的修改全部撤銷,這裡有兩種情況:
一種是readme.txt
自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是readme.txt
已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。
但是也就還存在一種情況將錯誤的檔案新增到了暫存區,當然是沒有提交的狀態,那麼可以透過git reset HEAD readme.txt
把暫存區的修改撤銷掉,重新放回工作區 ,然後我們可以再git checkout -- readm.text
丟棄在工作區修改的內容
刪除操作,比如我們想要刪除已經在版本庫中的某個檔案
git rm readme.txt
git commit -m "rm readme.txt"
即可完成真正真正刪除操作,那麼我刪錯了怎麼辦呢? 可以:git checkout -- test.txt
3. 遠端倉庫-github
接下來是比較有趣的內容,即遠端倉庫, 這也是Git的殺手級功能,利用github.com獲取免費強大的遠端倉庫再好不過了!
由於本地Git倉庫和GitHub倉庫之間的傳輸是透過SSH加密的,所以,需要一點設定:
$ ssh-keygen -t rsa -C "youremail@example.com"
然後一路回車即可
第2步:登陸GitHub,開啟“Account settings”,“SSH Keys”頁面
然後,點“Add SSH Key”,填上任意Title,在Key文字框裡貼上id_rsa.pub
檔案的內容
為什麼GitHub需要SSH Key呢?因為GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支援SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。
當然,GitHub允許你新增多個Key。假定你有若干電腦,你一會兒在公司提交,一會兒在家裡提交,只要把每臺電腦的Key都新增到GitHub,就可以在每臺電腦上往GitHub推送了。
最後友情提示,在GitHub上免費託管的Git倉庫,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感資訊放進去。
如果你不想讓別人看到Git庫,有兩個辦法,一個是現在Github也已經免費了私密倉庫!!! 另一個辦法是自己動手,搭一個Git伺服器,因為是你自己的Git伺服器,所以別人也是看不見的。這個方法我們後面會講到的,相當簡單,公司內部開發必備。
確保你擁有一個GitHub賬號後,我們就即將開始遠端倉庫的學習。
接下來在github上建立一個倉庫,然後按照github上的提示可以把一個已有的本地倉庫與之關聯,然後將本地倉庫的內容推送到Github倉庫中
git remote add origin git@github.com:example-github-id/example-git-name.git
新增後,遠端庫的名字就是origin,這是Git預設的叫法,也可以改成別的,但是origin這個名字一看就知道是遠端庫。
下一步,就可以把本地庫的所有內容推送到遠端庫上:
git push -u origin master
把本地庫的內容推送到遠端,用git push
命令,實際上是把當前分支master推送到遠端。
由於遠端庫是空的,我們第一次推送master分支時,加上了-u
引數,Git不但會把本地的master分支內容推送的遠端新的master分支,還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令
從現在起,只要本地作了提交,就可以透過命令:
git push origin master
講了先有本地庫,後有遠端庫的時候,如何關聯遠端庫。
現在,假設我們從零開發,那麼最好的方式是先建立遠端庫,然後,從遠端庫克隆。那麼我們如何從遠端庫中克隆到本地呢? 很簡單:
git clone git@github.com:example-github-id/example-git-name.git
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2524/viewspace-2822496/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Git 簡單使用學習筆記Git筆記
- Git工具極簡筆記(完結)Git筆記
- 廖雪峰Git學習筆記1-Git簡介Git筆記
- GitHub 極簡學習筆記(更新完畢)Github筆記
- git學習筆記Git筆記
- git學習筆記 1Git筆記
- git學習筆記1Git筆記
- Pro Git 學習筆記Git筆記
- git入門學習筆記Git筆記
- 【Java學習筆記(五十三)】之Git簡介,Git常用命令Java筆記Git
- Git 的特點—— Git 學習筆記 02Git筆記
- 取得 Git 倉庫 —— Git 學習筆記 04Git筆記
- git rebase(變基)—— Git 學習筆記 19Git筆記
- Git和Maven的學習筆記GitMaven筆記
- 20190228 學習筆記——廖雪峰 git筆記Git
- git restore極簡使用記錄GitREST
- git status 命令總結 —— Git 學習筆記 06Git筆記
- git checkout 命令詳解—— Git 學習筆記 16Git筆記
- 讀寫給大家的AI極簡史筆記03深度學習AI筆記深度學習
- Myth 關於Git的學習筆記Git筆記
- 撤銷操作 —— Git 學習筆記 12Git筆記
- git cherry-pick 詳解 —— Git 學習筆記 18Git筆記
- git reset 命令詳解(一)—— Git 學習筆記 07Git筆記
- git reset 命令詳解(二)—— Git 學習筆記 08Git筆記
- git checkout 和 git reset 的區別 —— Git 學習筆記 09Git筆記
- gcc簡介(學習筆記)GC筆記
- Git常用簡約筆記Git筆記
- Git 的安裝與初次使用 —— Git 學習筆記 03Git筆記
- Git 分支的建立與切換 —— Git 學習筆記 14Git筆記
- 忽略某些檔案 —— Git 學習筆記 05Git筆記
- GIT學習筆記——第一章Git筆記
- git 學習筆錄Git
- Git簡單學習Git
- MuJoCo 學習筆記:簡介 Overview筆記View
- 三路合併 —— Git 學習筆記 17Git筆記
- 檢視提交歷史 —— Git 學習筆記 11Git筆記
- 記錄每次更新到倉庫 —— Git 學習筆記 10Git筆記
- IO——簡略的學習筆記(1)筆記