1. 程式人生 > 其它 >GIT的基本操作

GIT的基本操作

下載安裝:

  開啟 [git官網] https://git-scm.com/,下載git對應作業系統的版本。

安裝直接下一步就行。

git的三個程式:

Git Bash:Unix與Linux風格的命令列,使用最多,推薦最多

Git CMD:Windows風格的命令列

Git GUI:圖形介面的Git

Git相關的配置檔案:

1)、Git\etc\gitconfig :Git 安裝目錄下的 gitconfig --system 系統級

2)、C:\Users\Administrator\ .gitconfig 只適用於當前登入使用者的配置 --global 全域性

使用:

  第一次使用git,需要配置使用者名稱,郵箱

git config --global user.name "zhangsan"  #名稱
git config --global user.email [email protected]   #郵箱

注意git的四個區域:

  • Workspace:工作區,就是你平時存放專案程式碼的地方;

  • Index / Stage:暫存區,用於臨時存放你的改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊;

  • Repository:倉庫區(或本地倉庫),就是安全存放資料的位置,這裡面有你提交到所有版本的資料。其中HEAD指向最新放入倉庫的版本;

  • Remote:遠端倉庫,託管程式碼的伺服器,可以簡單的認為是你專案組中的一臺電腦用於遠端資料交換;

建立本地倉庫的方法有兩種:一種是建立全新的倉庫,另一種是克隆遠端倉庫。

在自己資料夾目錄下,右鍵Git Bash here輸入命令

# 在當前目錄新建一個Git程式碼庫
$ git init

遠端克隆

 git clone [url]

檔案的相關操作:

檔案的四種狀體:

  • Untracked: 未跟蹤, 此檔案在資料夾中, 但並沒有加入到git庫, 不參與版本控制. 通過git add 狀態變為Staged;

  • Unmodify: 檔案已經入庫, 未修改, 即版本庫中的檔案快照內容與資料夾中完全一致. 這種型別的檔案有兩種去處, 如果它被修改, 而變為Modified. 如果使用git rm移出版本庫, 則成為Untracked檔案;

  • Modified: 檔案已修改, 僅僅是修改, 並沒有進行其他的操作. 這個檔案也有兩個去處, 通過git add可進入暫存staged狀態, 使用git checkout 則丟棄修改過, 返回到unmodify狀態, 這個git checkout即從庫中取出檔案, 覆蓋當前修改 ;

  • Staged: 暫存狀態. 執行git commit則將修改同步到庫中, 這時庫中的檔案和本地檔案又變為一致, 檔案為Unmodify狀態. 執行git reset HEAD filename取消暫存, 檔案狀態為Modified;

#檢視指定檔案狀態
git status [filename]

#檢視所有檔案狀態
git status

git add .                  新增所有檔案到暫存區,注意後面有. 代表全部


git commit -m "訊息內容"    提交暫存區中的內容到本地倉庫 -m 提交資訊

忽略檔案:

有些時候我們不想把某些檔案納入版本控制中,比如資料庫檔案,臨時檔案,設計檔案等

在主目錄下建立".gitignore"檔案,此檔案有如下規則:

  1. 忽略檔案中的空行或以井號(#)開始的行將會被忽略。

  2. 可以使用Linux萬用字元。例如:星號(*)代表任意多個字元,問號(?)代表一個字元,方括號([abc])代表可選字元範圍,大括號({string1,string2,...})代表可選的字串等。

  3. 如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。

  4. 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的檔案在此目錄下,而子目錄中的檔案不忽略。

  5. 如果名稱的最後面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設檔案或目錄都忽略)。

#為註釋
*.txt        #忽略所有 .txt結尾的檔案,這樣的話上傳就不會被選中!
!lib.txt     #但lib.txt除外
/temp        #僅忽略專案根目錄下的TODO檔案,不包括其它目錄temp
build/       #忽略build/目錄下的所有檔案
doc/*.txt    #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

建立遠端連線:

1.設定本機繫結SSH公鑰,實現免密碼登入:C:\Users\Administrator\.ssh 目錄

# 生成公鑰
ssh-keygen

會生成一個id_rsa.pub檔案,裡面就是你的公鑰。

登入你的github,點選自己頭像,有Setting按鈕,進入頁面選擇SSH AND GPG keys,複製你的公鑰就行了。

後面你可以克隆倉庫到本地,把生成的檔案複製到自己本地專案裡,就可以在idea裡直接操作上傳。

這中間可能會遇到個報錯

git clone error 10054

error: RPC failed; curl 28 OpenSSL SSL_read: Connection was reset, errno 10054 fatal: expected

用下面這個命令解決:

git config --global http.sslVerify "false"

分支:

常用命令:

# 列出所有本地分支
git branch

# 列出所有遠端分支
git branch -r

# 新建一個分支,但依然停留在當前分支
git branch [branch-name]

# 新建一個分支,並切換到該分支
git checkout -b [branch]

# 合併指定分支到當前分支
$ git merge [branch]

# 刪除分支
$ git branch -d [branch-name]

# 刪除遠端分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]