概要
Git Bash是Windows下的命令行工具,基於msys GNU環境,提供了Git分布式版本控制工具,主要用於執行Git命令,從而用戶能夠在Windows下管理Git工程項目,這也是我們安裝這個工具的主要目的, 本文主要介紹如何在本地配置用戶名、密碼以及常用git命令,從而在Git Bash下管理我們的遠程倉庫。
公鑰配置
打開Git Bash,粘貼以下文本,替換為您的GitHub電子郵件地址。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
輸入完成以后一直回車,直到出現一個方塊的東西,然后切換到.ssh/目錄下(windows系統一般在如下目錄:C:\Users\Elwin
) 接着輸入ls
命令會看到兩個文件 id_rsa id_rsa.pub
,這兩個是我們的私鑰和公鑰。接着使用我們的公鑰,輸入 cat id_rsa.pub
,我們會看到一竄的字符,這個就是我們的公鑰,先找個地方保存起來,后面會使用到。
秘鑰標識了我們這台電腦,讓github知道我們賬戶關聯了了這台電腦:
打開我們的github 進入到主頁,點擊右邊我們的頭像 進入settings,點擊左邊的ssh和GPG秘鑰,然后點擊上面的新的SSH秘鑰,進去之后我們的標題可以隨便寫,下面就輸入我們剛才在gitbash中得到的一串字符,也就是我們的公鑰粘貼到里面,然后點擊添加公鑰,當添加成功以后,界面就會出現SSH的一個框,里面有一把黑色的鑰匙!然后在gitbash中輸入ssh -T git@github.com
之后 再接着輸入yes ,出現: You've successfully authenticated, but GitHub does not provide shell access.就是說明配置成功
如果沒有成功的話,可以使用 rm -rf .ssh 來刪除,然后再從頭配置公鑰。
使用git命令管理倉庫
Git的克隆操作
所涉及的git指令:
git init 表示初始化本地庫。
git clone xxx ‘xxx’表示需要克隆的倉庫的鏈接。
克隆指的是使用Git命令將指定的遠程倉庫的內容克隆到電腦本地。這里的遠程倉庫一般是指Github,還有Gitee等代碼托管平台。
具體的操作步驟如下:(以Gitee為例)
在本地創建一個用來接收遠程倉庫內容的文件夾(也就是本地庫),在空白處右擊,點擊Git Bash Here,打開Git命令窗口,輸入指令 git init ,然后回車,完成對本地倉庫的初始化,也就是授予Git對該文件夾的管理權限(操作完成后會在本地文件夾下生成一個 .git 文件夾)。
打開Gitee,找到想要克隆的遠程倉庫,點擊倉庫右上角的 克隆/下載 按鈕,選擇 HTTPS 按鈕,然后點擊后面的 復制按鈕復制該倉庫的網址。
打開剛才的 Git Bash Here 命令窗口,輸入指令 git clone gitee.com/xxx/...
(這里的網址可以直接右鍵選擇Paste粘貼,或者使用快捷鍵shift+Ins),然后敲回車即可看到自己的文件夾下出現了遠程倉庫的內容。這樣就完成了將遠程倉庫的內容克隆到本地倉庫。
Git的推送操作
所涉及的git指令:
git status 查看當前狀態。
git add 文件名 表示將某個文件添加至暫存區。
git add . 表示將所有(進行修改的)文件添加至暫存區。
git commit -m “xxx” xxx表示自己對本次提交所進行的備注或者標注。
git push origin master 表示實現由本地庫向遠程倉庫的推送。
git remote add origin SSH鏈接 表示建立本地庫與想要操作的遠程倉庫的聯系。
我們已經將遠程倉庫的內容克隆到本地倉庫了,在對文件進行修改或者增刪以后,我們想要把我們的修改或者增刪操作同步至遠程倉庫。這就需要使用Git指令進行推送操作。
1.打開剛才的 Git Bash Here 命令窗口,輸入指令 git status
(該指令的作用是查看當前狀態)然后回車。我們可以看到被我們修改的文件顏色是紅色。這是因為我們這些文件只是停留在本地的工作區,未添加至暫存區。
2.所以我們繼續輸入指令 git add .
表示將工作區修改的所有內容添加到暫存區。然后我們可以再次輸入指令 git status
然后回車查看一下當前狀態,這時我們可以看到原本我們修改的紅色的文件已經全部變成了綠色。這就表示已經全部添加至暫存區已經完成。
3.繼續在 Git Bash Here 命令窗口輸入指令 git commit -m "first modified"
雙引號里面的內容是對本次提交的備注,可以隨意填寫;first modified 意為第一次修改。然后我們按下回車,即可將本次提交添加備注。
4. 繼續在 Git Bash Here 命令窗口輸入指令 git remote add origin SSH鏈接
表示建立本地庫與我們想要推送的遠程倉庫的連接。
4.繼續在 Git Bash Here 命令窗口輸入指令 git push origin master
然后回車,這時會跳出一個窗口,需要我們填寫自己的Gitee的用戶名和密碼。輸入完成點擊確定,即可將本地的修改更新推送至Gitee上的遠程倉庫。這時Gitee倉庫的內容和我們本地庫的內容是一致的。
Git的拉取操作
所涉及的git指令:
git pull origin master 表示將遠程倉庫的內容文件同步更新拉取到本地庫。
當我們在Gitee平台的倉庫修改了內容以后想要將這個修改同步更新至我們電腦的本地倉庫。我們就需要使用Git指令進行對遠程倉庫的拉取操作。
具體操作就是打開剛才的 Git Bash Here 命令窗口輸入指令 git pull origin master
然后回車。我們就可以發現我們本地倉庫的內容已經更新為和遠程倉庫的內容保持一致了。
使用Git在本地進行版本追溯切換
所涉及的git指令:
git reset --hard xxxxxxx xxxxxxx表示不同版本的版本編號。這個指令代表將本地庫切換至指定版本。
當我們在對本地文件進行了多次修改然后多次推送至遠程倉庫以后,我們想要回到之前某一次的版本狀態。
1.我們可以打開Gitee倉庫,點開之前的推送提交記錄,找到我們想要回到的之前的某個版本,然后復制該版本的版本編號。(版本編號由數字和字母組成,一共七位,如79ef383)
2.然后繼續打開我們的 Git Bash Here 命令窗口輸入指令 git reset --hard 79ef383
然后回車。我們就可以發現我們本地庫的文件內容就會復原到之前79ef383的這個版本的文件內容。
3.當我們回到之前的 79ef383版本找到了某個我們需要找的文件時,我們又想切換到最新的版本狀態。操作還是一樣的。繼續打開我們的 Git Bash Here 命令窗口輸入指令 git reset --hard e9eacaa
回車即可切換到當前的最新版本狀態。(這里假設e9eacaa是最新版本的版本編號)
使用Git進行分支管理
所涉及的git指令:
git branch 表示查看所有分支。(當前分支前會有*號)
git branch 分支名 表示創建一個新的分支。
git checkout 分支名 表示切換至指定分支。
git push origin 分支名:分支名 表示在遠程倉庫創建一個分支,並把本地庫的此分支提交至該創建的分支上。
在開發過程中,我們往往為了保證主分支master的正常運行不受我們開發新功能所干擾其正常運行,所以我們往往會建立多個不同的分支供不同開發人員使用。所以我們學習一下如何使用Git建立新的分支。
1.我們繼續打開 Git Bash Here 命令窗口輸入指令git branch second
回車這樣就表示我們創建了一個名為second的新的分支。
2.我們繼續在 Git Bash Here 命令窗口輸入指令git checkout second
這樣表示我們目前的操作對象由master轉變成為了second,然后我們可以在本地庫中進行文件的修改,然后按照上面的流程進行添加到暫存區,然后添加提交的備注信息,然后輸入git push origin second:second
回車表示將本地庫的分支提交到遠程倉庫,由於遠程沒有second分支,所以 :second 會在提交的同時在遠程倉庫創建一個 second分支。
3.當我們在second分支完成了開發工作時,我們可以將second分支合並到master主分支上,具體的操作是,我們在 Git Bash Here 命令窗口輸入指令git checkout master
回車切換到master分支上,然后再輸入git merge second
回車就表示將second分支合並到主分支master上。這樣所有的內容master分支就都包含進來了。