<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大漠駝鈴

    置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
    Java,Php,Shell,Python,服務器運維,大數據,SEO, 網站開發、運維,云服務技術支持,IM服務供應商, FreeSwitch搭建,技術支持等. 技術討論QQ群:428622099
    隨筆 - 238, 文章 - 3, 評論 - 117, 引用 - 0
    數據加載中……

    Git常用的11個命令整理

    1 git clone
    git clone https://github.com/bcit-ci/CodeIgniter.git                        只克隆
    git clone https://username@github.com/bcit-ci/CodeIgniter.git        攜帶用戶名
    https://username:password@github.com/bcit-ci/CodeIgniter.git       攜帶用戶名和密碼
    2.git add -A
    git add -A  #提交所有的文件,所有tracked文件中被修改過或已刪除文件和所有untracted的文件信息添加到索引庫
    git add  .   #提交當前目錄
    git add  -u  #add to index only files modified or deleted and not those created 
    git add -i   #查看中被所有修改過或已刪除文件但沒有提交的文件
    [s]tatus:  查看當前的文件狀態
    [u]pdate: 把已經tracked的文件添加到索引庫中
    [r]evert: 把已經添加到索引庫中的文件從索引庫中剔除。
    [a]dd untracked 把已經tracked的文件添加到索引庫中
    [p]atch  
    [d]iff: 可以比較索引庫中文件和原版本的差異
    [q]uit: 退出git add -i命令系統
    [h]elp:
    3.git commit -m
    一般倉庫中的文件可能存在于這三種狀態:
        1)Untracked files → 文件未被跟蹤;
        2)Changes to be committed → 文件已暫存,這是下次提交的內容;
        3) Changes bu not updated → 文件被修改,但并沒有添加到暫存區。如果 commit 時沒有帶 -a 選項,這個狀態下的文件不會被提交。

    git commit 提交暫存區里的內容
    git commit -a  除了將暫存區里的文件提交外,還提交 Changes bu not updated 中的文件。
    git commit -a -m "info"
    git commit --amend 
    git commit --amend -a #又或者我們發現在提交時忘記使用 -a 選項,導致 Changes bu not updated 中的內容沒有被提交,我們可以使用
    #
    reference:http://www.cnblogs.com/eddy-he/archive/2012/03/22/git_commit.html
    4.git push
       git pull
       git pull <遠程主機名> <遠程分支名>:<本地分支名>
    #比如,取回origin主機的next分支,與本地的master分支合并,需要寫成下面這樣。
    git pull origin next:master
    #如果遠程分支是與當前分支合并,則冒號后面的部分可以省略。
    git pull origin next
    相當于:
    git fetch origin
    git merge origin/next
    #如果當前分支與遠程分支存在追蹤關系,git pull就可以省略遠程分支名。
     git pull origin
    #如果當前分支只有一個追蹤分支,連遠程主機名都可以省略。
    git pull
       

    5.git config --global user.name
       git config --global user.email
       git config --global  credential.helper store
       設置用戶名和郵箱,設置存儲密碼
    6.git fetch
       獲取遠程的更新
    7.git merge
      合并更新
    8.git  stash (這個功能大家爭議比較多)
    備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。
    git stash pop:
     從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由于可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容并恢復。
    git stash list:
       顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
    git stash clear:
    清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。

    使用git的時候,我們往往使用branch解決任務切換問題,例如,我們往往會建一個自己的分支去修改和調試代碼, 如果別人或者自己發現原有的分支上有個不得不修改的bug,我們往往會把完成一半的代碼 commit提交到本地倉庫,然后切換分支去修改bug,改好之后再切換回來。這樣的話往往log上會有大量不必要的記錄。其實如果我們不想提交完成一半或者不完善的代碼,但是卻不得不去修改一個緊急Bug,那么使用'git stash'就可以將你當前未提交到本地(和服務器)的代碼推入到Git的棧中,這時候你的工作區間和上一次提交的內容是完全一樣的,所以你可以放心的修 Bug,等到修完Bug,提交到服務器上后,再使用'git stash apply'將以前一半的工作應用回來。也許有的人會說,那我可不可以多次將未提交的代碼壓入到棧中?答案是可以的。當你多次使用'git stash'命令后,你的棧里將充滿了未提交的代碼,這時候你會對將哪個版本應用回來有些困惑,'git stash list'命令可以將當前的Git棧信息打印出來,你只需要將找到對應的版本號,例如使用'git stash apply stash@{1}'就可以將你指定版本號為stash@{1}的工作取出來,當你將所有的棧都應用回來的時候,可以使用'git stash clear'來將棧清空。
    在這里順便提下git format-patch -n , n是具體某個數字, 例如 'git format-patch -1' 這時便會根據log生成一個對應的補丁,如果 'git format-patch -2' 那么便會生成2個補丁,當然前提是你的log上有至少有兩個記錄。


    stash的話一定是基于某個版本的,而且將stash從棧內拿出來,一定是需要還原到對應的版本。通過git stash list可以清晰的看到每個stash對應的版本,如:
    stash@{0}: WIP on master: e95dc37 Require administrator authority...
    stash@{1}: WIP on md_develop: fcaa18f Add an object to recieve md...
    比如你需要恢復stash@{1}這時候你需要做的是:
    git checkout fcaa18f
    git stash apply stash@{1}
    盡量不使用類似git stash pop的方法。如果你當前fcaa18f所在的分支有繼續往前推進的話,建議在fcaa18f上建立新的分支,然后繼續stash@{1}的修改,并將stash@{1}的內容提交到新的分支上:
    git branch new_develop
    git checkout new_develop
    git add FILES
    git commit
    后續再通過cherry-pick的方式,將修改的內容應用到其他需要這個修改的分支之上
    #reference :http://www.cppblog.com/deercoder/archive/2011/11/13/160007.html
     9.git log
    10.git status
    11:git show

    posted on 2015-01-22 08:32 草原上的駱駝 閱讀(1494) 評論(0)  編輯  收藏 所屬分類: Linux

    主站蜘蛛池模板: 亚洲最大在线视频| 亚洲欧洲尹人香蕉综合| 午夜亚洲WWW湿好爽 | 91亚洲国产成人久久精品网址| 国产无遮挡色视频免费观看性色 | 亚洲色婷婷六月亚洲婷婷6月| 成人精品综合免费视频| 免费看一级做a爰片久久| 国产亚洲精品第一综合| 亚洲 另类 无码 在线| 日本视频免费观看| 三上悠亚亚洲一区高清| 中文在线免费看视频| 国产亚洲成av片在线观看| 大地资源在线资源免费观看| 亚洲AV无码久久精品蜜桃| 99久在线国内在线播放免费观看| 久久av无码专区亚洲av桃花岛| 50岁老女人的毛片免费观看| 亚洲午夜电影在线观看高清 | 亚洲国产精品综合福利专区| av免费不卡国产观看| 亚洲一卡一卡二新区无人区| 国产在线观看免费完整版中文版| 免费人成再在线观看网站 | 99热在线日韩精品免费| 婷婷精品国产亚洲AV麻豆不片 | 免费人成网站7777视频| 中文字幕免费人成乱码中国| 精品亚洲aⅴ在线观看| 成人人观看的免费毛片| 男女作爱免费网站| 亚洲天堂男人天堂| 成人毛片免费观看| 国产成人自产拍免费视频| 亚洲黄色网址在线观看| 国产成人免费a在线资源| 在线涩涩免费观看国产精品| 99久久婷婷国产综合亚洲| 亚洲国产一区视频| 可以免费看的卡一卡二|