版本控制 git
git配置
- 查看系統配置:git config --system --list
- 查看用戶配置(global)配置: git config --global --list
所有的配置都是保存在本地的 Git安裝目錄下gitconfig -system 系統級的組態檔
保存在登錄用戶的組態檔 c:\Users\Adminstrator.gitconfig 只適用于登錄用戶的組態檔 -global全域
- 設定用戶名:git config --global user.name "zhy"
- 設定用戶郵箱:git config --global user.email "[email protected]"
git 原理
操作圖

上圖示注了四個作業區域之間的互動操作 (在git bash下)
git 有四個作業區域: 作業目錄(Working Directory)暫存區(Stage/index)資源庫、本地倉庫(Repository或者Git Directory)另外還有 遠程git倉庫(Remote Directory)
- Working Directory:作業區,日常作業存放代碼
- Stage/index:暫存區,用于臨時存放改動,本質是一個檔案,保存即將提交的檔案改動資訊
- Repository: 本地倉庫,存放提交的所有版本資料,其中HEAD指向最新放入倉庫的版本
- Remote Directory:遠程倉庫,托管代碼的服務器
git專案創建
存在兩種方式 在本地創建 從遠程倉庫克隆
- 本地倉庫搭建
- 在目標目錄--->右鍵--->git bash
- 初始化git: git init
- 遠程倉庫克隆
- 選好本地目錄--->右鍵--->git bash
- git clone [url] (需要點擊網上該專案的 【克隆】 獲取url)
- 該命令是從遠程倉庫完全鏡像一份到本地
- 檔案狀態
- Untracked: 未跟蹤,此檔案在檔案夾中但沒有提交加入git庫,不參與版本控制,需要通過git add將狀態變更未Staged
- Unmodify: 檔案已經入庫,沒有修改,意思是本地庫中的檔案和作業檔案夾中的檔案完全一致,這種型別的檔案如果被修改 就會變為 Modify 也可以使用git rm移除版本庫,則變為Untracked檔案
- Modified: 檔案已修改,僅僅是修改沒有其他操作,這樣的檔案可以通過過git add進入暫存staged狀態,使用git checkout 則丟棄修改回傳unmodify狀態,這個git checkout即從庫中取出檔案,覆寫當前修改
- Staged: 暫存狀態,執行git commit則將修改同步到庫中,這時庫中檔案和本地檔案又變為一致,檔案為Unmodify狀態,執行git reset HEAD filename 取消暫存,檔案狀態為Modified
- 上述檔案的4種狀態可以通過一下命令查詢
#查看指定檔案狀態
git status [檔案名]
#查看所有檔案狀態
git status
#git add . 添加檔案到暫存區
#git commit -m "說明資訊" 提交暫存區的內容到本地倉庫
- 組態檔忽略規則
哪些檔案需要忽略,不提交(如:.class 和 idea的檔案) 哪些需要提交(如:jar包 .java等檔案)
#配置語法:
#以斜杠“/”開頭表示目錄;
#以星號“*”通配多個字符;
#以問號“?”通配單個字符
#以方括號“[]”包含單個字符的匹配串列;
#以嘆號“!”表示不忽略(跟蹤)匹配到的檔案或目錄;
#常用配置
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
被過濾掉的檔案就不會出現在git倉庫中(gitlab或github)了,當然本地庫中還有,只是push的時候不會上傳,
使用碼云 gitee
- 注冊--->登錄
- 系結SSH公鑰,實作免密登錄
- 生成ssh公鑰 ssh-keygen

- 三次回車即可
- 到本地 C:\Users{登錄賬戶}.ssh 路徑下找到公鑰


- git可以連接到你的碼云倉庫 其他github倉庫同理
- 新建一個倉庫

- 克隆到本地


IDEA集成git
- 新建專案 系結git
- 將遠程倉庫的git 相關檔案拷貝到需要系結的專案中即可
- 復制后git操作

- 在ideaTerminal中就可以用命令操作了
- git add .(添加所有檔案到快取區)
- git commit (提交檔案到本地倉庫)
- git push (push檔案到遠程倉庫)
git分支
# 列出所有本地分支
$ git branch
# 列出所有遠程分支
$ git branch -r
# 列出所有本地分支和遠程分支
$ git branch -a
# 新建一個分支,但依然停留在當前分支
$ git branch [branch-name]
# 新建一個分支,并切換到該分支
$ git checkout -b [branch]
# 新建一個分支,指向指定commit
$ git branch [branch] [commit]
# 新建一個分支,與指定的遠程分支建立追蹤關系
$ git branch --track [branch] [remote-branch]
# 切換到指定分支,并更新作業區
$ git checkout [branch-name]
# 切換到上一個分支
$ git checkout -
# 建立追蹤關系,在現有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到當前分支
$ git merge [branch]
# 選擇一個commit,合并進當前分支
$ git cherry-pick [commit]
# 洗掉分支
$ git branch -d [branch-name]
# 洗掉遠程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
git 完
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285684.html
標籤:其他
