1. 程式人生 > >git用法記錄

git用法記錄

* git init 建立一個本地git倉庫,如果你沒有伺服器,但想用git來管理原生代碼,可以建立一個本地git倉庫   除了沒有git push到遠端伺服器的操作外,其他都與正常git使用無異,對於原生代碼開發管理挺實用的。   例如: cd  myRepo ; git init   這樣將你的程式碼檔案放到myRepo,然後就可以git add, git commit等git操作* git add   將檔案新增到git倉庫,留意這3個引數區別 .  -u  -A  git add .    會將所有變化提交到暫存區,包括內容修改modified,新檔案new,但不包括被刪除的檔案   git add -u
  會將被跟蹤的檔案(tracked file)的改動提交到暫存區,但不會提交新檔案(untracked file)   git add -A  是上面兩個的集合* git status   檢視狀態,會把當前倉庫下所有tracked和untracked都顯示出來   但有時候那些.o, .ko等編譯產生的檔案我們不希望也顯示出來干擾,可以在倉庫目錄下建立 .gitignore    並把這些檔案用萬用字元表示在該檔案中,一行一種型別,比如    vi.gitignore       *.o       *.ko    這樣在用 git status 時就不會再將這些無關檔案顯示出來了* git clone

   將遠端git倉庫克隆一份到本地,相當於svn check out   git clonegit_url  例如: git clone [email protected]:software/trunk_wl.git* git remote show origin   獲取遠端git倉url地址,如下不僅可以知道該遠端git倉地址,還可以知道它有哪些branch
    *git branch    ** 檢視當前git倉有多少個branch,當前正在哪個branch:git branch -a
    ** 刪除本地分支:git branch -D br_name    **如何知道本地分支跟蹤關聯遠端倉庫上到哪個分支: git branch -vv 
* git checkout    ** 切換分支,git checkout -b<new_branch> <start_point>        比如通過git branch -a 知道當前正在master分支上,同時倉庫還有nexus_ftl_staging_a分支    ** 上面-b是在本地分支還未建立到情況下,如果本地分支已經有了,比如有本地分支A和B,要切到A上         就只需要git checkout A     **切換到某個tag上        通常做法是建一個分支,然後把tag拉到這個分支上,用法:          git tag   檢視當前有哪些tag,比如有 v2.7         git checkout -b  tag_br v2.7   將tag 2.7拉到新到分支 tag_br上    ** 從指定某筆提交建立分支        git checkout -b <new-banch> <commit-id>   // 從指定<commit-id>上建立分支new-banch* git log   ** 檢視每次提及的差異內容:git log -p -2        -2 是檢視最近2次的提及差異,-p顯示差異內容     * git patch    ** 生成patch:git diff> patch   對應應用此patch可以用命令:git applypatch
        在應用這個patch之前如果不放心它是否能全部打上去,可以用git apply --checkpatch 先檢查,沒有任何輸出表示沒問題    ** git log -5   >> 檢視最近5筆提交        git diff<commit-id.x>  <commit-id.x+1>>patch   >> 根據commit id找出想要到某兩筆之間到修改差異,儲存為 patch    ** git show<commit-id> >patch   >> 根據commit id找出某筆修改差異,儲存為 patch* git fetch 和 git pull 和 git push    從遠端分支獲取最新版本到本地,git fetch 從遠處獲取最新版本到本地,但不會自動merge.    git pull 是從遠端獲取最新版本並merge到本地。   ** 用法:    git branch    >> 先看看本地是那個分支,假定是 master    git fetch origin master:tmp   >> 從遠端origin倉庫master分支獲取最新版本到本地,但沒merge到本地,只是先放到臨時開到tmp分支    git diff tmp  >> 可以看到遠端master分支上最新版本跟本地master分支到差異    git merge tmp  >> 將差異merge到本地    git branch -D tmp  >>  刪除臨時tmp分支    如果本地是乾淨到,只是要跟遠端做下同步,那麼可以用 git pull origin master  它相當於 git fetch origin master:tmp + git merge tmp    在實際使用中,建議用 git fetch,它可以在merge前檢視更新情況,再決定是否合併   ** git pull <遠端主機名> <遠端分支名>:<本地分支名>        如拉取遠端的master分支到本地wy分支,git pull origin master:wy    git fetch / git pull 是從遠端分支同步程式碼到本地,git push 是將本地commit到修改推送到遠端分支   ** git push 用法:       git status 看看本地commit跟遠端分支上有哪些改動,會看類似:        Your branch is ahead of 'origin/nexus_ftl_staging_a' by 2 commits.         (use "git push" to publish your local commits)       git push origin master:master  其中 origin是遠端主機名,master是本地分支名,後面這個master是遠端分支名        可以通過git remote 檢視遠端主機名,git branch 檢視本地當前分支名,通常本地分支名取與遠端分支名一樣        所以上面可以簡寫成: git push origin master   即git會自動根據本地分支名去查詢遠端同名分支,若沒找到會自動建立一個新分支        推薦完整寫上本地分支名和遠端分支名* git diff    檢視工作區檔案跟上次提交快照到差異,可以直接用  git diff<file>    如果某個檔案已經git add到暫存區,但還為commit,即要檢視暫存區檔案跟上次提交快照到差異,可以用git diff --cached<file>* git reset    已經commit到某筆提交,想要撤銷: git reset --hard HEAD^    (HEAD^是上一次提交,HEAD^^上上次提交,也可以寫成HEAD~2,依次類推)    --hard會撤銷到比較徹底,本地檔案也會被刪除.* git config    檢視當前提交人資訊:git config --list     主要是 user.email 和 user.name 這兩個資訊,可以這樣修改:    git config --global user.email "shang[email protected]"    git config --global user.name "shang.zhang"    git config --global credential.helper store    // 儲存使用者名稱密碼,不用每次都輸入* git stash    git stash可用來暫存當前正在進行到工作,比如切換一個分支,如果當前有修改會提示你先提交,但這時又不想提交,就可以用git stash    先將這些修改隱藏起來。待在切換後到分支上工作完成後要切回來,回到之前到哪些修改,就可以用 git stash pop 恢復當時隱藏到修改    git stash   隱藏修改    git stash pop   恢復修改* git archive    如何將某個tag檔案全部匯出(不帶倉庫管理檔案),有時候要匯出一份乾淨的倉庫程式碼,就會需要用到這個命令    如果你的tag名是 v2.7 (可以先用 git tag 檢視當前有哪些tag), 可按如下方式匯出:    ** 匯出並壓縮為 zip 格式: git archive --format=zip --output=v2.7.zip  v2.7    ** 匯出並壓縮為 tar.bz2 格式: git archive v2.7 | bzip2 > v2.7.tar.bz    ** 匯出並壓縮為 tar.gz格式: git archive --format=tar  v2.7 | gzip > v2.7.tar.gz* git revert  撤銷已提交的修改。加入一筆已經push的修改要撤銷,可以這麼做:  git revert <commit-id>   // 要先確保本地是乾淨的,<commit-id> 是指定要撤銷的某筆提交  git push origin 遠端分支名:本地分支名  // revert後重新提交,這一步讓本地和遠端都同步 revert  其實相當於重新提交了一筆修改,這筆修改的內容就是去掉要撤銷的內容.  與 git reset的區別是 revert 可以留下提交痕跡,而reset則是刪除,不留痕跡* git bash   git bash是windows下用的git 命令列工具.   #1. git bash 執行很慢的問題         >> git bash預設會去查詢windows檔案伺服器,比如/h/bin,這就導致很慢。查詢路徑有HOME變數定義               可以將HOME變數新增到windows系統使用者變數中,比如我的win10是這麼新增的                我的電腦 右鍵 -- 屬性 -- 高階系統設定 -- 環境變數 -- 在使用者變數中新建  HOME = C:\Program Files\Git\etc\profile.d                關閉git bash,重新開啟後就明顯快樂很多

相關推薦

git用法記錄

* git init 建立一個本地git倉庫,如果你沒有伺服器,但想用git來管理原生代碼,可以建立一個本地git倉庫   除了沒有git push到遠端伺服器的操作外,其他都與正常git使用無異,對於原生代碼開發管理挺實用的。   例如: cd  myRepo ; git init   這樣將你的程式碼檔案

git 日常用法記錄

delet 本地 gin reset class 圖片 記錄 ranch commit 1 // 版本回退 2 3 //1. 回退上一次版本 4 git reset --hard HEAD^ 5 6 //2.回退到某個版本 7 git log//找到co

Git 使用記錄

ria mic 問題 admins push ruby refs color core 在win7平臺已經安裝好了git的情況下: 1,Git 本地倉庫建立與使用步驟: (2)新建立文件夾: $ mkdir learngit $ cd learngit

git用法

style www 文件 git stat readme out 所有 dev 創建版本庫(repository) $ mkdir firstry $cd firstry $git init $vi readme.txt $git add readme.txt $vi r

Git實用記錄

push 電腦 remote 服務端 nal 文件夾 .com source 其它 一、git命令名詞解釋 1、添加/跟蹤/暫存:添加到本地索引 git add 文件名 2、提交:提交到本地倉庫 git commit -m ‘註釋‘ 3、推送:將提交到本地倉庫的所

jquery easyui裏datagrid用法記錄

action 名稱 lap pre election soft 未定義 enter table 1、刪除行方法(deleteRow) $(‘#ruleManagementTable‘).datagrid(‘deleteRow‘, 1); //1代表選中的行索引 2、刪

Git點滴記錄

bash ima 點滴記錄 分享 sof mage 註釋 base 多個 合並多個commit記錄 假設我們當前有三個commit信息,現在要將commit hash為 23f92c 和 409978 合並 那麽我們可以使用 rebase命令,輸入如下命令:

g4e基礎篇#6 了解Git歷史記錄

ron 表示 git merge none 這一 如果 代碼 工具 lin 章節目錄 前言 1. 基礎篇: 為什麽要使用版本控制系統 Git 分布式版本控制系統的優勢 Git 安裝和設置 了解Git存儲庫(Repo) 起步 1 – 創建分支和保

git 用法---成功添加一個文件到github

一次 png osi log mage www. push git add sta 一、git 提交 全部文件 git add . git add xx命令可以將xx文件添加到暫存區,如果有很多改動可以通過 git add -A .來一次添加所有改變的文件。註

初次使用git記錄使用步驟

下一步 公鑰 init gpo 客戶 some 遠程 tps 新建 參考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 https://gitee.c

Git 學習記錄

cli ont gin mailto git merge nbsp http -h rem 本地文件: 本地文件往遠程倉庫推送時,報錯了,如下圖: 解決方案: 1、 $ git push -u origin +master --強制push ( 這種方

CentOS 7.x 防火墻開放端口相關用法記錄

CentOS 7.x 防火墻開放端口相關CentOS 7.x 防火墻開放端口相關用法記錄前言防火墻對服務器起到一定的保護作用,所以了解一些相關的操作是很有必要的。在CentOS 7.x中,有了一種新的防火墻策略,FireWall , 還記得在6.x中用的還是iptables。這幾天一直在自己的服務器上瞎搞,由

Git命令記錄

TE AI 上班 刪除文件 執行 reflog 工作區 git config 1、創建與修改用戶名和郵箱地址:   $ git config --global user.name "username"   $ git config --global user.email "

mongo aggregate 用法記錄

ride alt 政府 CA on() pan 技術 learning als mongo 聚合查詢查詢還是很方便的,做下記錄 依賴的jar是org.springframework.data.mongodb 1.9.6 低版本可能不支持. 數據結構 大概是 這

git用法和相關推薦資料

book mark hub -s gui https 基本用法 相關 html git用法和相關推薦資料 用法 推薦資料 [1] https://git-scm.com/book/zh/v2/ git很全面的介紹 [2] http://marklodato.github.i

hive裏面union all的用法記錄

str 同時 字段類型 多個 字段名 類型 exce 重復行 The UNION用於聯合多個select語句的結果集,合並為一個獨立的結果集,結果集去重。 UNION ALL也是用於聯合多個select語句的結果集。但是不能消除重復行。現在hive只支持UNION ALL。

git使用記錄

推送 ranch 技術 nbsp 提交 上下 config 某個文件 com 1,在windows上安裝git,先去官網上下載Git-2.18.0-64-bit.exe 2,然後默認安裝即可,使用gitbash 3,安裝完成後,打開終端如圖所示: 4,先進行初始化配置

Markdown用法記錄

Markdown用法記錄 引言 1、字型顏色 2、圖片更改大小並居中 3、公式 引言 持續更新總結不常用的方法。 1、字型顏色 淺紅色文字:<font color="#dd0000">淺

怎樣快速找到某一行程式碼的git提交記錄

利用notepad++提高問題分析效率,以及快速找到某一行程式碼的git提交記錄 1. 全目錄搜尋/替換         Notepad++是一款強大的文字編輯工具,當知道大概的關鍵詞但不知道在哪個日誌時可以使用notepad++的檔案搜尋功能,在整個目錄

怎樣以及為什麼要保持你的 Git 提交記錄的整潔

Git 提交記錄很容易變得混亂不堪,現在教你怎麼保持整潔! 提交功能是 Git 倉庫的關鍵部分之一,不僅如此,提交資訊也是倉庫的生命日誌。專案或者倉庫在隨著時間的推移不斷演變(新功能不斷加入,Bug 被不斷修復,體系架構也被重構),提交資訊成為了人們檢視倉庫所發生的變化或者怎麼發生變化的