在普通用戶有讀寫權限的目錄下,建立git倉庫,切勿使用root建立(root建立的倉庫,普通用戶無寫的權限,致使提交失敗)。git
mkdir xxx.git
windows
git init --bare建立git裸倉庫
緩存
(服務器
裸倉庫不能進行任何操做,不然會報錯fatal: this operation must be run in a work tree。ssh
須要使用以下命令,再進行git其餘操做:fetch
touch readmethis
git initspa
git add readmeorm
git commit -m "提交readme"對象
)
或者克隆現有的倉庫
git clone <git倉庫地址>
在Windows平臺上安裝Git,msysGit的項目的安裝包,下載地址 https://gitforwindows.org/
在本地項目目錄下建立git倉庫並添加遠程服務器git倉庫
git commit -m "提交文件",提交到git倉庫
git remote add <遠程倉庫別名> <遠程倉庫地址>,關聯遠程倉庫
git pull --rebase <遠程倉庫別名> master,獲取遠程庫與本地同步合併(若是遠程庫不爲空,這一步操做是必須的)
git push -u <遠程倉庫別名> master,將最新的修改推送到遠程倉庫
git remote -v 查看遠程倉庫
git remote add <遠程倉庫別名> <遠程倉庫地址> 添加遠程倉庫
git fetch <遠程倉庫別名> 從遠程倉庫中抓取本地倉庫沒有的數據
git pull <遠程倉庫別名> <分支名> 從倉庫分支中拉取數據
git push <遠程倉庫別名> <分支名> 推送文件到上游
git remote show <遠程倉庫別名> 查看遠程倉庫信息
git remote rename <舊遠程倉庫別名> <新遠程倉庫別名> 遠程倉庫重命名
git remote rm <遠程倉庫別名> 移除遠程倉庫
Git倉庫中的項目文件屬於提交狀態及已跟蹤文件,git對文件變化的變化用快照記錄,工做一段時間後,文件的狀態可能處於未修改、已修改或已放入暫存。
git status 檢查當前文件狀態。
git add <文件名> 跟蹤當前文件,暫存狀態(針對新文件或修改過的文件)。
git commit -m "註釋" 提交更新。
git commit -a -m "註釋" 跳過暫存區,直接提交。
git rm -f <文件名> 強制刪除文件,清除暫存區的文件。
git mv <舊文件名> <新文件名> 移動文件。
git diff 查看還沒有暫存的文件更新的部分。
git diff -cached(stager) 查看已暫存的將要添加到下次提交裏的內容。
git log 查看提交的歷史,列出全部的更新,按時間排列。
git log -p -n 查看提交歷史,-p顯示每次提交的內容差別,-n表示僅顯示最近n次的提交。
git log --stat 查看每次提交的簡略統計信息。
git log --shortstat 只顯示--stat最後的行數修改添加移除統計。
git log --name-only 僅在提交信息後顯示已修改的文件清單。
git log --name-status 顯示新增、修改、刪除的文件清單。
git log --abbrev-commit 僅顯示SHA-1的前幾個字符,而非全部的40個字符。
git log --relative-date 使用較短的相對時間顯示。
git log --graph 顯示ASCII圖形表示的分支合併歷史。
git log --pretty 使用其餘格式顯示歷史提交信息,可用選項包括oneline、short、full、fuller和format(後期指定格式)。
git log --pretty=format:"%h - %t - %an - %cn" 如下爲經常使用選項:
%H 提交對象的完整哈希字串
%h 提交對象的簡短哈希字串
%T 樹對象(tree)的完整哈希字串
%t 樹對象的簡短哈希字串
%P 父對象的完整哈希字串
%p 父對象的簡短哈希字串
%an 做者的名字
%ae 做者的電子郵箱
%ad 做者修訂日期(能夠用--date=選項定製格式)
%ar 做者修訂日期,按多久之前的方式顯示
%cn 提交者的名字
%ce 提交者的電子郵箱地址
%cd 提交日期
%cr 提交日期,按多久之前的方式顯示
%s 提交說明
git log --since="",--after="" 僅顯示指定時間以後的提交。
git log --until="",--before="" 僅顯示指定時間以前的提交。
git log --author 僅顯示指定做者相關的提交。
git log --committer 僅顯示指定提交者相關的提交。
git log --grep 僅顯示含指定關鍵字的提交。
git log --S 僅顯示添加或移除了某個關鍵字的提交。
git commit --amend 覆蓋上次提交,提交補充
git reset HEAD <文件名> 取消暫存的文件,及撤銷上次提交
git checkout -- <文件名> 撤銷修改,將文件還原成上次提交的內容
(未完待續)