git命令行基本操作
阿新 • • 發佈:2017-06-03
撤銷 合並 冒號 文件的 初始化 徹底 message rdquo only --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.新建代碼庫
# 在當前目錄新建一個Git代碼庫
git init
# 新建一個目錄,將其初始化為Git代碼庫
git init [project-name]
# 下載一個項目和它的整個代碼歷史
git clone [url]
2.配置
# 顯示當前的Git配置
git config --list
# 編輯Git配置文件
git config -e [--global]
# 設置提交代碼時的用戶信息
git config [--global] user.name "[name]"
git config [--global] user.email "[email address]"
3.添加和撤銷操作
# 顯示有變更的文件
git status
# 該文件內容恢復到上個commit狀態
git checkout -- <file>
# 所有文件恢復到上個commit狀態
git checkout .
# 修改的該文件放入暫存區
git add <file>
# 所有修改的文件放入暫存區
git add .
# 取消add操作,保留文件的修改
git reset HEAD <file>
# 取消所有的add操作
git reset HEAD .
# 添加commit信息
git commit -m ‘your commit message‘
#回退所有內容到上一個版本
git reset HEAD^
#向前回退到第3個版本
git reset HEAD~3
# 將本地的狀態回退到和遠程的一樣
git reset origin/master
# 回退到某個版本
git reset 版本號
註意:reset命令有3種方式:
1:git reset –mixed:此為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息
2:git reset –soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。如果還要提交,直接commit即可
3:git reset –hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容
4.分支操作
# 列出所有本地分支
git branch
# 列出所有遠程分支
git branch -r
# 列出所有本地分支和遠程分支
git branch -a
# 新建一個分支,但依然停留在當前分支
git branch [branch-name]
# 切換到指定分支,並更新工作區
git checkout [branch-name]
# 合並指定分支到當前分支
git merge [branch]
# 刪除分支
git branch -d [branch-name]
# 刪除遠程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
5.查看信息
# 顯示有變更的文件
git status
# 顯示當前分支的版本歷史
git log
# 顯示commit歷史,以及每次commit發生變更的文件
git log --stat
# 顯示某個文件的版本歷史,包括文件改名
git log --follow [file]
git whatchanged [file]
# 顯示指定文件相關的每一次diff
git log -p [file]
# 顯示指定文件是什麽人在什麽時間修改過
git blame [file]
# 顯示暫存區和工作區的差異
git diff
# 顯示暫存區和上一個commit的差異
git diff --cached [file]
# 顯示工作區與當前分支最新commit之間的差異
git diff HEAD
# 顯示兩次提交之間的差異
git diff [first-branch]...[second-branch]
# 顯示某次提交的元數據和內容變化
git show [commit]
# 顯示某次提交發生變化的文件
git show --name-only [commit]
# 顯示某次提交時,某個文件的內容
git show [commit]:[filename]
# 顯示當前分支的最近幾次提交,可以看到你使用了什麽操作
git reflog
6. pull和push操作
# 拉取操作,如果遠程分支是與當前分支合並,則冒號後面的部分可以省略。
git pull <遠程主機名> <遠程分支名>:<本地分支名>
# 推送操作,如果省略遠程分支名,則表示將本地分支推送與之存在”追蹤關系”的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建。
git push <遠程主機名> <本地分支名>:<遠程分支名>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
git命令行基本操作