git學習筆記

2021-08-20 11:25:39 字數 2896 閱讀 4055

一.安裝git

安裝過程不在此記錄,安裝完成之後執行git bash 彈出乙個類似命令視窗的東西,表示安裝成功。

安裝成功之後,需要進行一些設定:

git config --global user.name "your name"

git config --global user.email "[email protected]"

表示你這台機器上的所有git倉庫都是使用這個配置。來標識個人資訊。

二.本地倉庫

1.在本地建立自己的倉庫(repository),可以認為是乙個目錄,這個目錄下的所有檔案都會被git託管。

git init 這個命令會把這個目錄變成git可以託管的倉庫,目錄下會生成乙個.git的目錄,

這個目錄是git來跟蹤管理版本倉庫的,裡面的檔案最好不要修改,不然會把git倉庫破壞掉。

2.新增檔案到版本庫,新建立的檔案要放在.git所在的目錄,放到其他地方git是無法找到檔案的。

git add新增檔案到快取,然後用git status 和 git diff 檢視狀態和改動。之後再用git commit新增快照記錄。

git status -s 檢視專案的狀態,

上圖表示helloworld.text 檔案沒有別追蹤,需要我們用git add 將檔案新增到快取中

檔案被修改之後通過git status -s 檢視

前面的簡短輸出,第乙個欄表示快取,第二欄表示工作目錄的,當乙個檔案被刪除時顯示的是"_d",所以git status的作用是讓我們檢視在上次提交之後有哪些檔案被修改、提交或者刪除了,從而決定哪些檔案需要執行git add 命令。

git diff 檢視尚未被快取檔案變動的內容,git diff --cached 檢視快取的改動.

git commit 提交檔案或者改動到本地倉庫形成快照。需要新增 -m引數新增注釋內容。-a自動將在提交前將已記錄、修改的檔案放入快取區。在使用git過程中使用git add 可以比較繁瑣,我可以用git commit -am "提交注釋" 命令來跳過這一步。至此檔案被儲存到本地倉庫。

可能會用到的其他命令:git reset head 取消快取已快取的檔案修改,取消快取」的意思就是將快取區恢復為我們做出修改之前的樣子。git rm 將檔案從快取區移除,git rm file 會將檔案從快取區和你的硬碟中(工作目錄)刪除。 如果要在工作目錄中留著該檔案,可以使用 git rm --cached。git checkout -- file 把檔案在工作區的所有修改全部清除(上一次commit之後的修改)。

3.連線遠端倉庫,以github為例,當然可以自己搭建git伺服器,也可以用碼雲等等。使用github需要自己註冊賬號,就可以免費獲得git遠端倉庫。使用github需要配 ssh key ,git倉庫和github是通過ssh加密的。

ssh-keygen -t rsa -c "[email protected]"

執行以後檢視使用者主目錄下是否有.ssh目錄及目錄下是否有id_rsa 和id_rsa.pub這兩個檔案 第乙個是私鑰檔案,不可洩露,第二個是公鑰,可以公開。

登陸github,settings-> ssh and gpg keys ->new ssh key 填上任意的title,key填入id_rsa.pub檔案中的內容。然後就可以在github中新增自己的遠端倉庫了。新增遠端倉庫以後,將本地倉庫與遠端倉庫進行關聯,在我們本地倉庫下執行git remote add origin [email protected]:yourname/learngit.git,然後推送 git push -u origin master 我們第一次推送

master

分支時,加上了

-u引數,git不但會把本地的master

分支內容推送的遠端新的

master

分支,還會把本地的

master

分支和遠端的

master

分支關聯起來

。也可以直接轉殖github上的專案git clone [email protected]:yourname/learngit.git。

git有乙個很好的特性就是分支。我們可以通過git branch顯示目前可用的分支名稱。

。多個分支不會有多個目錄。通過git merge

命令將任何分支合併到當前分支中,當然合併分支的時候我要合併衝突。

4.與遠端倉庫互動。使用git fetch 、git pull更新專案,git push提交更新到遠端倉庫,git remote管理遠端倉庫。git remote顯示遠端倉庫的別名。git remote -v 可以看到別名的實際連線位址。git remote add [alias] [url] 新增乙個新的遠端倉庫。git remote rm [alias] 刪除遠端倉庫的別名。

git fetch [alias] 是將本地倉庫和遠端倉庫進行同步,提取遠端倉庫的更新,得到遠端倉庫所有的改動到本地分支,之後我們再通過命令git merge [alias]/[branch]來合併分支,達到更新本地專案的功能,這個過程可以通過git pull 來實現。

執行git push [alias] [branch] 將本地的更新推送到遠端倉庫。在推送之前需要先進行更新操作。如果上次提取、合併之後,別人又推送了資料,git伺服器會拒絕你的推送。

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...