git倉庫管理功能時github的核心。git屬於分散型版本控制管理系統,是為版本管理而設計的軟體。subversion屬於集中型版本管理控制系統。
集中型:以subversion為代表的集中型,將倉庫集中存放在伺服器之中,所以只存在乙個倉庫。集中型將所有資料集中放在伺服器中,有便於管理的優點。但是一旦開發者所處的環境不能連線伺服器,就無法獲取最新的源**,開發也就無法進行。伺服器宕機時也是同樣的問題,伺服器故障導致資料消失,開發者無法找到最新的源**。
設定姓名和郵箱位址
git config --global user.name "***"
git config --global user.email "***@xx.com"
想要修改這些資訊可以直接修改檔案.gitconfig
提高命令列輸出的可讀性
git config --global color.ui auto
git init初始化倉庫:git使用git init命令進行初始化。使用該命令之前先建立乙個目錄。
mkdir git-study
cd git-study
git init
執行完命令之後會生成.git目錄,儲存者管理當前目錄內容所需的倉庫資料。將 git-study這個目錄的內容稱為「附屬於該倉庫的工作樹」。
git status檢視倉庫的狀態:工作樹和倉庫在被操作的過程中,狀態會不斷發生變化。
git add向暫存區中新增檔案:將檔案變成git倉庫的管理物件,暫存區是提交前的的乙個臨時區域。
git commit儲存倉庫的歷史記錄:將當前暫存區的檔案實際儲存到倉庫的歷史記錄中。
git log檢視提交日誌:只顯示提交資訊的第一行可在命令後新增 --pretty=short;只顯示指定目錄、檔案的日誌可在命令後新增目錄和檔名;顯示檔案的改動可在後面新增-p.
git diff檢視更改前後的差別:可以檢視工作樹和暫存區的差別
git branch顯示分支一覽表:「*」所在的分支表示當前所在的分支。
git checkout -b建立、切換分支:
切換到future-a分支並進行提交
git checkout -b future-a
切換到master分支
git checkout master
切回上乙個分支
git checkout -
git merge合併分支:先切換到將要合併到的分支,然後執行建立合併提交。
git checkout master
git merge --no-ff future-a
git log --graph以圖表形式檢視分支
git reset回溯歷史版本:
回溯到建立future-a分支前,要讓倉庫的head、暫存區、當前工作樹回溯到指定狀態,需要使用git reset --hard後面跟隨目標時間的雜湊值;
建立fix-b分支;
git checkout -b fix-b
推進至feature-a分支合併後的狀態;
使用git reflog命令,檢視當前倉庫的操作日。通過 git reset --hard命令恢復到回溯歷史前的狀態。
消除衝突
git merge --no-ff fix-b
檢視衝突部分並將其解決:務必要仔細分析衝突部分的內容後在行修改。
提交解決後的結果
git add
git commit
git commit --amend修改提交資訊:進入日誌資訊後修改內容
git rebase -i壓縮歷史
git remote add新增遠端倉庫
git push推送至遠端倉庫
推送至master分支
推送至master以外的分支
git clone獲取遠端倉庫:
獲取遠端倉庫
獲取遠端的feature-d分支
git chackout -b feature-d origin/feature-d
其中-b引數的後面是本地倉庫中新建分支的名稱。
向本地的feature-d分支提交更改
git diff
推送feature-d分支
git push
git pull獲取最新的遠端倉庫分支
Git常見操作
參考 git 命令大全 mac 配置git環境與常用指令 workspace 工作區 index stage 暫存區 repository 倉庫區 或本地倉庫 remote 遠端倉庫 顯示當前git 配置 git config list 編輯git配置檔案 git config e global 配...
git常見操作
關於add 1 add是將修改的檔案提交到暫存區,比如 git add 將所有修改的檔案加入暫存區,git add 路徑 將指定檔案加入暫存區 2 取消add請檢視reset 3,4 關於commit 1 commit是將暫存區的檔案提交到本地分支 2 檢視commit記錄用git log,如果只想...
git的常見操作
要同步伺服器 就執行 git pull 推送 到伺服器就執行 git push 檢視檔案狀態 git status 將工作區檔案新增到暫存區 git add login.py 或者git add 將暫存區檔案提交到倉庫區 git commit m 版本描述 上面兩步一起操作 git commit a...