git基礎

知識點、git工作區(Working Directory)、版本庫(Repository)

工作區:本地文件目錄
版本庫:本地文件目錄中的.git目錄(爲隱藏目錄)

版本庫裏有暫存區(stage或者叫index),第一個分支(master,Git爲我們自動創建的),HEAD(指向master的一個指針)

GitHub或其他網站上免費託管的Git倉庫,有可能是公開的,所以,不要把敏感信息放進去。

安裝後,運行如下命令進行設置,設置提交時的“提交人信息”
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
--global參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。

以下流程,常規情況下,只需看1、2...等標題的第一行內容

一、常用流程

1、git init,把當前目錄變成Git可以管理的倉庫,運行此命令後當前目錄下多了一個.git的目錄
語法:$ git init
運行後,會顯示在某個文件夾下初始化了一個git倉庫。

2、git add,就是把文件修改添加到暫存區
語法:$ git add 文件名,或$ git add 文件名 文件名...
命令運行後,如果沒有任何顯示,說明添加成功。添加成功後,文件進入了暫存區(stage或者叫index),但依然是在本地硬盤。
修改或添加了文件後,沒有add前,如果運行git status命令,會顯示:no changes added to commit (use "git add" and/or "git commit -a"),會顯示某某文件被修改了(modified),某某文件沒有被添加(即Untracked)。

3、git commit,就是把暫存區的所有內容提交到當前分支
語法:$ git commit -m "備註信息"
命令運行後,會顯示幾個文件被改動,插入了幾行內容等消息。此時文件進入了分支(默認master),但依然是在本地硬盤
add之後,commit之前, git status會顯示,在某個分支上,某些修改將要提交,顯示新文件,修改的文件等消息。
一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是“乾淨”的:nothing to commit (working directory clean)

4、在github或碼雲等網站上設立遠程倉庫(空倉庫,沒有任何文件)

5、git remote add, 本地倉庫與遠程倉庫關聯
語法:$ git remote add origin 遠程倉庫地址
origin,是Git默認的叫法,即將“遠程倉庫地址”簡稱爲origin
命令運行後,沒有任何顯示,表示成功

6、 git push,第一次把本地庫的所有內容推送到遠程庫上(空倉庫,沒有任何文件)
語法:$ git push -u origin master
注:上述命令是把當前分支master推送到遠程。由於遠程庫是空的,第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送到遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。
命令運行後,會顯示有多少個objects,寫入多少個objects,分支master與遠程的master進行了關聯等等消息。

7、 git push,平常時,把本地庫的所有內容推送到遠程庫上
語法:$ git push origin master
命令運行後,會顯示有多少個objects,寫入多少個objects,master->master等消息,但不再顯示分支master與遠程的master進行了關聯消息。

8、如果先建立遠程倉庫(非空倉庫,可能有文件)

9、git clone:從遠程庫克隆clone到本地
語法:$ git clone 遠程項目地址
命令運行後,會顯示遠程有多少個objects,unpacking多少個objects等消息,同時在當前文件夾下生成新的文件夾,新文件夾名字爲遠程倉庫中的項目名字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章