// 在當前目錄新建乙個 git **庫
git init
// 新建乙個目錄,將其初始化為 git **庫
git init [project-name]
git clone [project-url]
複製**
// 顯示當前所有的 git 配置
git config --list
// 編輯 git 配置檔案
git config -e [--global]
// 設定提交**時的使用者資訊
git config [--global] user.name "[name]"
git config [--global] user.email "[email]"
複製**
// 新增檔案到暫存區
git add [file] [file1] ...
// 新增指定目錄到暫存區,包括子目錄
git add [dir]
// 新增當前目錄的所有檔案到暫存區
git add .
// 新增每個變化錢,都會要求確認
// 對於同乙個檔案的多出變化,可以實現分次提交
git add -p
// 刪除工作區檔案,並且將這次刪除放入暫存區
git rm [file1] [file2] ...
// 停止追蹤指定檔案,但該檔案會保留在工作區
git rm --cached [file]
// 改名檔案,並且將這個改名放入暫存區
git mv [file-original] [file-renamed]
複製**
// 提交暫存區到倉庫區
git commit -m "[message]"
// 提交暫存區指定的檔案到倉庫區
git commit [file1] [file2] ... -m [message]
// 提交工作區自上次 commit 之後的變化,直接到倉庫區
git commit -a
// 提交時顯示所有 diff 資訊
git commit -b
// 使用一次新的 commit,替代上一次提交
git commit --amend -m "[message]"
// 重新上一次的 commit,幷包括之id那個檔案的新變化
git commit --amend [file1] [file2] ...
複製**
// 列出所有本地的分支
git branch
// 列出所有遠端的分支
git branch -r
// 列出所有本地分支和遠端分支
git branch -a
// 新建乙個分支,但依然停留在當前的分支
git branch [branch_name]
// 新建乙個分支,並且切換到該分支
git checkout -b [branch_name]
// 新建乙個分支,指向指定的 commit
git branch [branch_name] [commit]
// 新建乙個分支,與指定的遠端分支建立追蹤關係
git branch --track [branch_name] [remote_branch]
// 切換到指定的分支,並更新工作區
git checkout [branch_name]
// 切換到上乙個分支
git checkout -
// 建立追蹤關係,在現有分支與指定的遠端分支之間
git branch --set-upstream [branch_name] [remote_branch]
// 合併指定分支到當前分支
git merge [branch_name]
// 選擇乙個 commit,合併到當前的分支
git cherry-pick [commit]
// 刪除分支
git branch -d [branch_name]
// 刪除遠端分支
git push origin --delete [branch_name]
git branch -dr [remote/branch_name]
複製**
// 列出所有 tag
git tag
// 新建乙個 tag 在當前的 commit
git tag [tag]
// 新建乙個 tag 在指定的 commit
git tab [tag] [commit]
// 刪除本地 tag
git tag -d [tag]
// 刪除遠端 tag
git push orgin :refs/tags/[tag]
// 檢視 tag 資訊
git show [tag]
// 提交指定 tag 資訊
git push [remote] [tag]
// 提交所有 tag
git push [remote] --tags
// 新建乙個分支,指向指定某個 tag
git checkout -b [branch] [tag]
複製**
// 顯示所有變更的檔案
git status
// 顯示當前分支的版本歷史
git log
// 顯示 commit 歷史,以及每次 commit 發生的變更
git log --stat
git log -s [keyword]
// 顯示某個 commit 之後所有的變動,每個 commit 佔據一行
git log [tag] head --pretty=format:%s
// 顯示某個檔案的版本歷史,包括檔名
git log --follow [file]
git whatchanged [file]
// 顯示指定檔案相關的每一次 diff
git log -p [file]
// 顯示過去5次提交
git log -5 --pretty --oneline
// 顯示所有提交過的使用者,按提交次數排序
git shortlog -sn
// 顯示指定檔案是什麼人在什麼時候修改過
git blame [file]
// 顯示暫存區和工作區的差異
git diff
// 顯示暫存區和上乙個 commit 的差異
git diff --cached [file]
// 顯示暫存區與當前分支最新 commit 之間的差異
git diff head
// 顯示兩次提交之間的差異
git diff [first_branch]...[second_branch]
// 顯示今天你寫了多少行**
git diff --shortstat "@"
// 顯示某次提交的元資料和內容變化
git show [commit]
// 顯示某次提交發生變化的檔案
git show --name-only [commit]
// 顯示某次提交時,某個檔案的內容
git show [commit]:[filename]
// 顯示當前分支的最近幾次提交
git reflog
複製**
git fetch [remote]
// 顯示所有遠端倉庫
git remote -v
// 顯示某個遠端倉庫的資訊
git remote show [remote]
// 增加乙個新的遠端倉庫,並命名
git remote add [shortname] [url]
// 取回遠端倉庫的變化,並與本地分支合併
git pull [remote] [branch]
// 上傳本地指定分支到遠端倉庫
git push [remote] --force
// 推送所有分支到遠端倉庫
git push [remote] --all
複製**
// 恢復暫存區的指定檔案到工作區
git checkout [file]
// 恢復某個 commit 的指定檔案到暫存區和工作區
git checkout [commit] [file]
// 恢復暫存區的所有檔案到工作區
git checkout .
// 重置暫存區的指定檔案,與上一次 commit 保持一致,但工作區不變
git reset [file]
// 重置暫存區和工作區,與上一次的 commit 保持一致
git reset --hard
// 重置當iqanefnzhi的指標為指定 commit,同時重置暫存區
git reset [commit]
// 重置當前分支的head為指定的 commit,同時重置暫存區和工作區
git reset --hard [commit]
// 重置當前head為指定的 commit,但保持暫存區和工作區不變
git rest --keep [commit]
// 新建乙個 commit,用來撤銷指定的 commit
// 後者的所有變化都將被前者抵消,並且應用到當前分支
git revert [commit]
// 暫時將為提交的變化移除,稍後再移入
git stash
git stash pop複製**
git命令小結
it 是乙個很強大的分布式版本管理工具,它不但適用於管理大型開源軟體的源 如 linux kernel 管理私人的文件和源 也有很多優勢 如 wsi lgame pro 一 git 命令初識 在正式介紹git命令之前,先介紹一下git 的基本命令和操作,對git命令有乙個總體的認識 示例 從git ...
git命令小結
關於git的介紹和更詳細的使用,請前往 git教程 廖雪峰的官方 進行閱讀,本文只是將常用的命令做個總結,以備不時之需。1.1 使用者名稱和郵箱 git config global user.name your name git config global user.email email exam...
git命令小結
工作中頻繁使用的git命令 1 git init 建立本地版本庫 建立乙個空目錄,再在此目錄下執行git init命令 2 git remote add origin url 如下圖 到本地倉庫目錄下執行此操作,可以將本地倉庫與遠端倉庫相關聯 3 git clone url 使用git拷貝乙個git...