Git的簡單使用

2021-08-06 05:53:20 字數 4335 閱讀 8689

摘要:阮一峰的網路日誌

git的幾個專有名詞:

- workspace:工作區

- index / stage:暫存區

- respository:倉庫區(或本地倉庫)

- remote:遠端倉庫

// 初始化(在當前目錄新建乙個git**庫)

$ git init

// 新建乙個目錄,將其初始化為git**庫

$ git init [project-name]

$ git clone [url] [name]

git的設定檔案為.gitconfig,它可以在使用者主目錄下(全域性配置),也可以在專案下配置(專案配置)。

// 顯示當前的git配置

$ git config --list

// 編輯git的配置檔案

$ git config -e [global]

// 設定提交**時的使用者資訊

$ git config [--global] user.name 'name'

$ git config [--global] user.email 'email'

// 新增指定檔案到暫存區

$ git add [file1] [file2] ...

// 新增指定目錄到暫存區,包括子目錄

$ git add [dir]

// 新增當前的所有檔案到暫存區

$ git add .

// 新增每乙個檔案前,都要確認。對於同乙個檔案的多次變化,可以實現分次提交

$ git add -p

// 刪除工作區檔案,並且將這次刪除放入暫存區

$ git rm [file1] [file2] ...

// 停止追蹤指定檔案,但該檔案會保留在工作區

$ git rm -cached [file]

// 改名檔案,並且將這個改名放入暫存區

$ git mv [file-oragin] [file-renamed]

// 將暫存區提交到倉庫區

$ git commit -m "提交資訊"

// 將暫存區的指定檔案提交到倉庫區

$ git commit [file1] [file2] ... -m "提交資訊"

// 提交工作區上次commit之後的變化,直接到倉庫區

$ git commit -a

// 提交時顯示所有的diff資訊

$ git commit -v

// 使用一次新的commit,代替上一次提交。如果**沒有變化,則只改變上一次commit的提交資訊。

$ git commit -amend -m "提交資訊"

// 重做上一次commit,並且指定檔案的新變化

$ git commit -amend [file1] [file2] ...

// 列出本地所有分支

$ git branch

// 列出所有遠端分支

$ git branch -r

// 列出所有本地分支和遠端分支

$ git branch -a

// 新建乙個分支,但仍然停留在當前分支

$ git branch [branch-name]

// 新建乙個分支,並切換到該分支

$ git checkout -b [branch]

// 新建乙個分支,指向指定的commit

$ git branch [branch] [commit]

// 新建乙個分支,與指定的遠端分支建立追蹤關係

$ git branch --track [branch] [remote-branch]

// 切換到指定分支,並更新工作區

$ git checkout [branch-name]

// 切換到上乙個分支

$ git checkout -

// 合併指定分支到當前分支

$ git merge [branch]

// 選擇乙個commit,合併進當前分支

$ git cherry-pick [commit]

// 刪除分支

$ git branch -d [branch-name]

// 刪除遠端分支

$ git push origin --delete [branch-name]

$ git branch -dr [remote/branch]

// 顯示有變更的檔案

$ git status

// 顯示當前分支的歷史版本

$ git log

// 顯示commit歷史,以及每次commit發生變更的檔案

$ git log --stat

// 顯示指定檔案相關的每一次diff

$ git log -p [file]

// 顯示過去五次提交

$ git log -5 --pretty --oneline

// 顯示所有提交到過的使用者,按提交次數排序

$ git shortlog -sn

// 顯示指定檔案是什麼人在什麼時間修改過

$ git blame [file]

// 顯示暫存區與工作區的差異

$ git diff

// 顯示當前分支的最近幾次提交

$ git reflog

$ git fetch [remote]

// 顯示所有遠端倉庫

$ git remote -v

// 顯示某個遠端倉庫的資訊

$ git remote show [remote]

// 增加乙個新的遠端倉庫,並命名

$ git remote add [shortname] [url]

// 取回遠端倉庫的變化,並與本地分支合併

$ git pull [remote] [branch]

// 上傳本地指定分支到遠端倉庫

$ git push [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

// 重置當前分支的指標為指定commit,同時重置暫存區,但工作區不變

$ git reset [commit]

// 重置當前分支的head為指定commit,同時重置暫存區和工作區,與指定commit一致

$ git reset --hard [commit]

// 重置當前head為指定commit,但保持暫存區和工作區不變

$ git reset --keep [commit]

// 新建乙個commit,用來撤銷指定commit

# 後者的所有變化都將被前者抵消,並且應用到當前分支

$ git revert [commit]

// 暫時將未提交的變化移除,稍後再移入

$ git stash

$ git stash pop

1. 先檢視歷史記錄

$ git log

2. 使用reset命令進行回退

$ git reset --hard "commit id"

$ git reflog

4. 根據`git reflog`命令就可以看到你的所有記錄資訊。然後找到要回退版本的`commit id`,使用`reset`命令就可以回到最新的版本了。

1. 修改上一次的提交資訊

$ git commit --amend

2. 進入vim編輯,先按i鍵,進入插入語法,然後對你需要修改的資訊進行更改,退出按esc鍵,接著按:wq,儲存退出。

3. 如果上一次已經push,那麼需要加f引數覆蓋服務端,不過不建議這麼搞

$ git push -f

git的簡單使用

公司用svn來管理進行版本管理,使用不是很習慣。偶然在網路上看到git這個工具,覺得很不錯,正好可以用來對自己的 進行管理,以後就不需要再打包乙個乙個備份了。平台是 centos5 git version git version 1.7.8.git 初始化乙個git倉庫 git init 提交使用者...

git的簡單使用

git 新建乙個專案,cd 開啟這個資料夾第一層目錄就好了,git branch一下檢視分支 git branch develop建立乙個分支 git branch 檢視分支,現在你就有兩個了 git checkout develop切換到開發分支 現在你發現develop是綠色的,說明你在當前分支...

git 的簡單使用

1.git init 2.git config global user.email huazai com 3.git config global user.name huazai 4.git add 5.git commit m 說明這次有哪些改動 6.git log 7.git help 8.gi...