1. 程式人生 > >【Git教程】Git教程及使用命令

【Git教程】Git教程及使用命令

使用場景 推送 git分支 alt fig 沒有之一 令行 之間 通過

??Git是目前世界上最先進的分布式版本控制系統,可以自動記錄和管理文件的改動,還可以團隊寫作編輯,也就是幫助我們對不同的版本進行控制。2008年,GitHub網站上線,為開源項目提供免費存儲,迅速發展成為最流行的分布式版本控制系統,沒有之一。

安裝Git

??windows下直接下載安裝程序,然後默認安裝即可,安裝完成後通過Git Bash打開類似於命令行窗口的界面,則說明安裝成功。
??安裝成功後,需要添加自己的username和email,相當於表明身份,自報家門。

$ git config --global user.name "username"
$ git config --global user.email "your email"

創建版本庫

??創建一個新的文件夾目錄,然後進入到該目錄,輸入git init即可將次目錄變為git可以管理的倉庫。需要註意的是:git只支持文本文件,比如txt,代碼,網頁等,可以使用Notepad++編輯器,使用utf-8編碼格式。
??將文件添加到倉庫,分兩步:添加和提交

$ git add <file> 可以多次add,添加多個文件
$ git commit -m <message>

時光機穿梭

  • 兩個常用命令:掌握工作區的狀態:git status,如果有文件被修改過,可以使用git diff查看修改內容
  • 版本回退:HEAD指向的是當前版本,HEAD^是上一個版本,在版本之間切換的命令是git reset --hard commit_id
    ,穿梭前,可以使用git log查看提交歷史,確定要回退到哪個版本;重返未來,可以通過git reflog查看命令歷史,確定要回退的版本號。
  • 工作區和暫存區:工作區是在本地可以看到的倉庫文件夾目錄,而暫存區(stage)是版本庫中的暫存區域,git add命令實際就是將要提交的修改先放到暫存區(stage),然後,執行git commit就可以一次性將暫存區的修改內容都提交到對應的分支。

    技術分享圖片

  • 管理修改:Git管理的是修改,而不是文件,只有add到暫存區的修改,才能使用commit提交。
  • 撤銷修改:(1)如果想直接丟棄工作區的修改時,使用命令:git checkout -- file (2)當已經add到暫存區,想丟棄修改時,分為兩步:先用命令git reset HEAD <file>
    ,然後再用丟棄工作區內容的命令進行修改。(3)如果已經將修改commit到了版本庫,可以進行版本回退來進行修改(前提是沒有推送到遠程庫)。
  • 刪除文件:要想刪除一個文件,直接從工作區中刪除文件,然後使用命令git rm <file>git commit -m <message>刪除在版本庫中的文件。
  • 文件恢復:如果誤刪了本地資源文件,可以使用命令git checkout -- <file>從版本庫中恢復。

遠程倉庫

??Git是分布式版本控制系統,實際使用場景:有一臺服務器,其他所有的用戶都從這個服務器克隆一份到自己的電腦,然後把各自的提交推送到服務器倉庫,也可以從服務器倉庫拉取別人的提交。GitHub就是提供倉庫托管服務的。

  • 添加SSH密鑰:在github賬戶裏添加自己電腦的ssh公鑰
  • 添加遠程庫:在github網站創建新倉庫create a new repo,然後在本地倉庫下使用命令git remote add origin [email protected]:<name>/<github repo>.git將本地倉庫與遠程庫進行關聯。 在關聯後,使用命令git push -u origin master第一次推送master分支的所有內容,此後,在每次本地提交時,可以使用git push origin master推送到遠程庫。這裏需要註意:如果推送出錯,原因是遠程倉庫的readme和本地不同步,可以先使用命令git pull --rebase origin master進行合並,然後再推送。
  • 從遠程庫克隆先創建遠程庫,然後克隆到本地進行操作。克隆命令:git clone [email protected]:<name>/<github repo>.git.

總結

??本文主要總結了git使用的本地倉庫和遠程倉庫的主要操作命令,後續對git分支管理進行詳細介紹。

參考鏈接

廖雪峰的官方網站
菜鳥教程

【Git教程】Git教程及使用命令