1. 程式人生 > >git命令行基本操作

git命令行基本操作

撤銷 合並 冒號 文件的 初始化 徹底 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命令行基本操作