git是一種分布式版本控制工具
安裝完成後會生成三個快捷方式:
配置
git的配置都是以檔案形式儲存的,具體檢視和位置如下
系統配置檔案:%git%\etc\gitconfig
使用者配置檔案都儲存在%userprofile%\.gitconfig
檢視所有配置:git config -l
檢視系統配置:git config --system --list
檢視當前使用者配置:git config --global --list
git config --global user.name "使用者名稱"
git config --global user.email "郵箱"
工作區域:工作區(workspace)、暫存目錄(stage/index)、本地倉庫(repository)、遠端倉庫(remote)
所謂建立本地倉庫,可以看作在專案根目錄中生成.git
目錄
有兩種方式:1,建立新的倉庫,2、轉殖遠端倉庫
建立新的倉庫,在專案資料夾根目錄執行git初始化命令,會命令執行目錄生成.git
資料夾
git init
轉殖遠端專案,在命令執行目錄中生成存放此專案的資料夾,.git
資料夾在其中
git clone [url]
檔案四種狀態(了解):
untracked
: 未跟蹤, 此檔案在資料夾中, 但並沒有加入到git庫, 不參與版本控制. 通過git add
狀態變為staged
.
unmodify
: 檔案已經入庫, 未修改, 即版本庫中的檔案快照內容與資料夾中完全一致. 這種型別的檔案有兩種去處, 如果它被修改, 而變為modified
. 如果使用git rm
移出版本庫, 則成為untracked
檔案
modified
: 檔案已修改, 僅僅是修改, 並沒有進行其他的操作. 這個檔案也有兩個去處, 通過git add
可進入暫存staged
狀態, 使用git checkout
則丟棄修改過, 返回到unmodify
狀態, 這個git checkou
t即從庫中取出檔案, 覆蓋當前修改 !
staged
: 暫存狀態. 執行git commit
則將修改同步到庫中, 這時庫中的檔案和本地檔案又變為一致, 檔案為unmodify
狀態. 執行git reset head filename
取消暫存, 檔案狀態為modified
附:在idea中會通過檔案顏色進行區分狀態
檢視檔案狀態
#檢視指定檔案狀態
git status [filename]
#檢視所有檔案狀態
git status
#新增檔案到暫存區(.表示新增當權目錄所有檔案)
git add [filename]
#將暫存區檔案提交到本地倉庫
git commit -m "訊息內容"
忽略檔案
有些檔案不想讓git提交,比如臨時檔案,編譯目錄等。
在專案目錄建立.gitignore
檔案,在此檔案中編寫忽略規則:
# 為注釋
*.txt 忽略.txt結尾檔案(*可換成其他萬用字元)
!lib.txt lib.txr不忽略
/temp 只忽略專案根目錄下的temp目錄/檔案,不包括子目錄裡的temp目錄/資料夾
buikd/ 忽略所有名為buikd檔案/目錄
等...
當需要提交**到遠端伺服器時,最好配置ssh公鑰
生成公鑰:
# git bash執行,-t指定加密方式,生成檔案在「%userprofile%\.ssh目錄下」
ssh-keygen -t rsa
上一步生成的金鑰在%userprofile%\.ssh
目錄中,包括id_rsa
和id_rsa.pub
兩個檔案,需要使用後面的id_rsa.pub
公鑰
登入github或碼雲賬戶,複製id_rsa.pub
的公鑰,進行配置
配置好ssh-key後進行操作
在遠端倉庫中新建倉庫,並使用git clone
把轉殖到本地(主要就是要.git資料夾)
將轉殖到本地的倉庫檔案複製到專案根目錄
使用git add .
新增專案中所有檔案
使用git commit -m "訊息內容"
提交到本地倉庫
使用git push
將本地倉庫推到遠端倉庫
分支就是多個人修改了專案,造成多個版本,每個版本可看作乙個分支。
當分支進行合併時,若修改了同乙個檔案,就要手動選擇保留誰的修改。
分支一些命名:
指令:
# 列出所有本地分支
git branch -a
# 列出所有遠端分支
git branch -r
# 新建乙個分支,但依然停留在當前分支
git branch [branch-name]
# 切換到該分支
git checkout [branch]
# 或git switch [branch]
# 合併指定分支到當前分支(引數指定多種合併方式)
$ git merge [branch]
# 刪除分支
$ git branch -d [branch-name]
# 刪除遠端分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
碼雲提供的git大全:git大全 FinalHttp的簡要介紹與使用
在之前的一篇文章中,我們簡單的介紹了下finalbitmap的使用,這一篇文章將繼續介紹afinal開發框架的使用,這一次的主角是finalhttp。finalhttp,顧名思義,就是乙個用於實現客戶端與伺服器之間網路通訊的類,這個類主要通過對apache的httpclient開源專案進行封裝,實現...
Git介紹與使用
git是什麼?1.git是目前主流的分布式版本控制系統之一 svn與git的最主要區別?使用1.建立版本庫 什麼是版本庫?版本庫又名倉庫,英文名repository,你可以簡單的理解乙個目錄,這個目錄裡面的所有檔案都可以被git管理起來,每個檔案的修改,刪除,git都能跟蹤,以便任何時刻都可以追蹤歷...
Git簡要使用
強烈建議先看這篇git 簡易指南,有助於理解 相信官方文件是最準確的指導,而以下只是適合新手用來快速掌握git github提供兩種方式的鏈結,https和ssh,其中ssh方式需要rsa密碼,其詳細使用可以參考這篇,如果你只想把 放在本地,這步可以不需要。在git bash上輸入這些命令,其中序號...