git常用命令
1、配置全域性注釋使用者名稱、關聯郵件位址
git config --global user.name "junge8618"
git config --global user.email "[email protected]"
說明:如果要配置指定倉庫,直接切換到該倉庫目錄,執行不帶--global目錄;
檢視已經設定的值,使用命令:
git config --global user.name
git config --global user.email
檢視所有已有的配置
git config --list
2.初始化本地倉庫
進入目錄,執行命令git init
3.新增檔案或者目錄
git add .
4.提交修改至本地倉庫
git commit -m "initial commit"
5.檢視狀態
git status
6.建立分支
git checkout -b comic_sans
7.使用-a同時增加和提交
git commit -am "make header font comic sans"
8.分支合入主幹分支
切換到主幹分支git checkout master
合併分支到主幹分支git merge comic_sans
檢視日誌git log
9.獲取命令幫助資訊
git help
git --help
man git-
10.轉殖專案
git clone git:
git clone git: mygrit
11.刪除檔案
git rm -rf ... 已提交的檔案刪除,物理刪除(暫存和本地目錄都刪除),需要使用命令git commit提交刪除的檔案
git rm --cached readme.txt 從暫存中刪除
git reset head ... 已標記的檔案且未暫存的檔案,通過該命令回滾
12.檔案改名
git mv file_from file_to
13.檢視歷史提交記錄
git log
git log --stat 只顯示摘要
14.重新提交
git commit --amend
15.遠端倉庫
檢視當前的遠端庫 git remote -v
新增遠端倉庫 git remote add [shortname] [url]
git remote add junge
從遠端倉庫抓取資料 git fetch [remote-name]
git fetch origin 會抓取從你上次轉殖以來別人上傳到此遠端倉庫中的所有更新(或是上次 fetch 以來別人提交的更新)。有一點很重要,需要記住,fetch 命令只是將遠端的資料拉到本地倉庫,並不自動合併到當前工作分支,只有當你確實準備好了,才能手工合併。
如果設定了某個分支用於跟蹤某個遠端倉庫的分支(參見下節及第三章的內容),可以使用 git pull 命令自動抓取資料下來,然後將遠端分支自動合併到本地倉庫中當前分支。在日常工作中我們經常這麼用,既快且好。實際上,預設情況下 git clone 命令本質上就是自動建立了本地的 master 分支用於跟蹤遠端倉庫中的 master 分支(假設遠端倉庫確實有 master 分支)。所以一般我們執行 git pull,目的都是要從原始轉殖的遠端倉庫中抓取資料後,合併到工作目錄中的當前分支。
推送資料到遠端倉庫 git push [remote-name] [branch-name]
檢視遠端倉庫資訊 git remote show origin
遠端倉庫的重新命名 git remote rename 例子:git remote rename pb paul
遠端倉庫的刪除 git remote rm 例子:git remote rm paul
16.打標籤
列顯已有的標籤 git tag 或者git tag -l "v1.4.2.*"
新建含附註的標籤 git tag -a v1.4 -m 'my version 1.4'
檢視相應標籤的版本資訊git show v1.4
後期加註標籤 git tag -a v1.2 9fceb02
分享標籤 git push origin v1.5 或者git push origin --tags(一次推送所有本地新增的標籤上去)
17.分支
建立新分支 git branch testing
新建立分支時,不會自動切換,需要手工切換分支 git checkout testing
可以使用命令建立並切換分支 git checkout -b iss53 (切換分支前,保證本地的**已經提交完全)
刪除分支 git branch -d hotfix
合併分支(切換到主幹,把iss53分支中的**合併到主幹)
git checkout master
git merge iss53
檢視有衝突的合併檔案 git status
衝突解決後,執行命令git add 將把它們標記為已解決狀態
當前所有分支的清單(其中前面顯示星號的是當前分支)
git branch
檢視各個分支最後乙個提交物件的資訊
git branch -v
檢視哪些分支已被併入當前分支(譯註:也就是說哪些分支是當前分支的直接上游。)
git branch --merged
檢視尚未合併的工作
git branch --no-merged
刪除分支(沒有合入主乾則會提示)
git branch -d testing
強制刪除分支(沒有合入主乾則會提示)
git branch -d testing
18.推送本地倉庫到遠端倉庫
新增遠端倉庫
git remote add origin
設定本地倉庫為遠端倉庫的跟蹤分支
git branch --set-upstream-to=origin/master master
git branch --set-upstream dev origin/dev
更新遠端倉庫到本地
git fetch
推送本地倉庫到遠端倉庫
git push
19.檢視歷史記錄的版本號id
git reflog
20.恢復到某個版本
git reset --hard 259e941
git reset --hard head^ 恢復到上個版本
git reset --hard head^^恢復到上2個版本
git reset --hard head~100 恢復到上100個版本
21.命令 git checkout -- readme.txt 意思就是,把readme.txt檔案在工作區做的修改全部撤銷,這裡有2種情況,如下:
readme.txt自動修改後,還沒有放到暫存區,使用 撤銷修改就回到和版本庫一模一樣的狀態。
另外一種是readme.txt已經放入暫存區了,接著又作了修改,撤銷修改就回到新增暫存區後的狀態。
22.合併分支禁止fast forward(該模式下,刪除分支後,會丟掉分支資訊)
git merge --no-ff -m "merge with no-ff" dev
23.隱藏與還原工作現場
隱藏現場
git stash
檢視隱藏列表
git stash list
刪除git stash drop
恢復並刪除
git stash pop
常見問題:
1.我在github新建乙個倉庫,寫了license,然後把本地乙個寫了很久倉庫上傳。
先pull,因為兩個倉庫不同,發現refusing to merge unrelated histories
,無法pull
因為他們是兩個不同的專案,要把兩個不同的專案合併,git需要新增一句**,在git pull
,這句**是在git 2.9.2版本發生的,最新的版本需要新增--allow-unrelated-histories
假如我們的源是origin,分支是master,那麼我們 需要這樣寫git pull origin master ----allow-unrelated-histories
如果合併後有衝突,需要先解決衝突,衝突解決後使用命令提交本地修改的檔案git commit -am "解決衝突提示"
第一次推送遠端倉庫,需要使用如下命令:
git push --set-upstream origin master
參考部落格:
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...
git 常用命令
檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...
git常用命令
詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...