python之路_最簡單的Git介紹

1、Git與Github介紹html

1.Git介紹  git

  git是幹什麼用的?實現版本控制。各行各業都須要版本控制,主要實現版本控制的工具方式分別爲svn和Git。程序員

二、Github介紹github

  GitHub是一個基於Git的遠程文件託管平臺(同GitCafe、BitBucket和GitLab等)vim

三、兩者關係併發

  Git自己徹底能夠作到版本控制,但其全部內容以及版本記錄只能保存在本機,若是想要將文件內容以及版本記錄同時保存在遠程,則須要結合GitHub來使用。使用場景:a、無GitHub:在本地 .git 文件夾內維護歷時文件;b、有GitHub:在本地 .git 文件夾內維護歷時文件,同時也將歷時文件託管在遠程倉庫svn

2、Git基本使用工具

一、第一次使用測試

'''
一、在電腦上安裝git軟件(自行下載軟件並安裝)

二、啓動git:建立的項目的文件夾裏面右鍵--->點擊Git Bash Here

三、git初始化:git init

四、配置Git:分別執行命令:
    git config --global user.email "you@example.com"
    git config --global user.name "your name"
'''

二、版本控制fetch

'''
一、文件添加到git:git add .   (.指目錄下全部的文件,也能夠指定文件)

二、文件提交git備份:git commit -m "描述信息"

三、查看版本狀態:git status

四、查看版本提交記錄:git log

五、回滾指定版本: git   reset --hard   版本號  (版本號能夠經過git log查看,爲隨機字符串)

六、查看日後提交記錄:git reflog
'''

  以上請注意:必定記得先add,後commit,add以後是沒有放到版本里的,只有commit的時候纔有版本。

三、修復bug

  有這樣一個場景,產品上線後,開發員A將在繼續開發一個新的功能,當新功能開發到一半時候,忽然線上的版本出現bug,A要對其進行當即的修復,流程以下:

方式一:stash

  stash用於將工做區發生變化的全部文件獲取臨時存儲在「某個地方」,將工做區還原當前版本未操做前的狀態;stash還能夠將臨時存儲在「某個地方」的文件再次拿回到工做區。

#步驟:

'''
一、git stash:將開發到一半的直播功能,臨時存儲到「某個地方」

二、git status:查看工做區回到當前版本未作任何操做前(此時即爲上線的版本)

三、修復bug

四、git add .

五、git commit -m '緊急修復bug'

六、git stash pop:將開發到一半的直播功能從「某個地方」再次拿會工做區繼續開發
'''

  注意:執行 git stash pop 命令時,可能會遇到衝突,由於在緊急修復bug的代碼和經過stash存儲在「某個地方」的代碼會有重合部分,因此執行 git stash pop 時候就會出現衝突,有衝突解決衝突便可。

方式二:分支

  branch稱爲分支,默認僅有一個名爲master的分支。通常開發新功能流程爲:開發新功能時會在分支dev上進行,開發完畢後再合併到master分支。建立新分支,即:拷貝一份當前所在分支代碼到新分支。

#分支相關命令:
'''
git branch 分支名稱             建立分支
git checkout 分支名稱          切換分支
git branch -m 分支名稱        建立並切換到指定分支
git branch                          查看全部分支
git branch -d 分支名稱         刪除分支
git merge 分支名稱              將指定分支合併到當前分支
'''

修復bug流程:

'''
    git branch dev                                    (建立開發分支dev,全部的開發在dev分支上進行)
    git checkout dev 
                        
    寫代碼

    git add .
    git commit -m 'xxx'                                
                        
    git checkout master   
    git branch bug                                   (在master分支建立bug分支,在bug分支上修復bug,master分支上存儲的是正式上線的版本。)
    git chekcout bug 
                        
    修復bug 

    git add .
    git commit -m '緊急修復bug'
                        
    git checkout master 
    git merge bug                     (在bug分支上修復完bug後,提交。並再此與master上的版本合併,並不影響dev分支上的開發。) 
                        
    git branch -d bug 
                        
    git checkout dev 
    繼續開發
'''    

3、Github基本使用

一、代碼託管

  正常的程序員通常都會存在多個辦公地點,家裏、公司或者咖啡廳,可是咱們又不能隨身將代碼裝在優盤或者隨身攜帶電腦,這該怎麼辦呢?就會用到github進行代碼託管。實例以下:

  初次上傳代碼:

'''
一、註冊github帳號,登陸後建立代碼倉庫

二、建立完後複製代碼倉庫的鏈接

三、在git上建立別名:git remote add origin 代碼倉庫鏈接

四、首次上傳代碼到github的master分支:git push origin master

五、一樣也能夠將代碼上傳到dev分支:git push orgin dev

'''

  具體應用實例:

家裏:
                    
        git add .
        git commit -m 'xx'
                    
        git remote add origin https://github.com/WuPeiqi/greenlu.git
                    
         git push origin master 
                    
公司:
                    
       # 新公司第一次獲取代碼
         方式一
         git clone https://github.com/WuPeiqi/greenlu.git
                            
         方式二
         git init 
         git remote add origin https://github.com/WuPeiqi/greenlu.git
         git pull origin master 直接拿回來
                        
                        
         方式三
         git init 
         git remote add origin https://github.com/WuPeiqi/greenlu.git
         這的兩句至關於git pull origin master 這一句
         git fetch origin master  拿到分支上了
         git merge origin/master  合併在一塊兒
                   

二、協同開發

  假如三我的共同開發同一份代碼,每一個人都各自安排了任務,當每一個人都完成了一半的時候,提交不提交呢?要提交,提交到dev嗎,都上傳了一半,這樣回家拿出來的代碼根本跑不起來。因此,爲每個人建立一個分支,各自都在各自的分支上寫代碼,互不影響。很短期內你們暫時先合併一次,否則衝突太多了。可是這個分支不是dev,而是review分支,當老大看完沒問題以後再合併到dev分支。

#先建立了一個dev的分支
    git branch dev 
    git checkout dev 
    git push origin dev 
#又建立了一個review的分支
    git branch review
    gir checkout review
    git push origin review 
#建立本身的分支
    git branch haiyan 
    git checkout haiyan 
    git pull origin haiyan

應用實例:

張三建立了個文件
            git branch xxx 
            git checkout xxx
            touch a.py 
            ls 
            git add . 
            add commit -m '代碼初始上線'
            git push origin xxx 
            ls
            vim a.py  #寫了一些內容
            git add . 
            add commit -m '小功能開發完畢'
            git push origin xxx
            #如今兩人都寫完了,開始合併和review進行合併了
            git checkout review
            git pull origin review  #吧遠程的review拉下來
            #把本身的合併發到review
            git merge xxx
            ls 
            git status 
            git push origin review 
            
            #再次寫的時候
            git pull origin review  
李四建立了個文件
            git branch yyy 
            git checkout yyy 
            touch s.py 
            ls 
            git add . 
            add commit -m '到了新公司好激動啊'
            git push origin sk 
            ls
            vim s.py  #寫了一些內容
            git add . 
            add commit -m '小開發完畢'
            git push origin yyy
            #如今兩人都寫完了,開始合併和review進行合併了
            git checkout review
            #git pull origin review  #若是先沒有吧遠程的review拉下來
            #吧本身的合併發到review
            git merge yyy
            ls 
            git status 
            git push origin review   #這時候的review是最新的,那麼張三先提交了,完了她還得拉先來再合併一次
        注意:老大看了review分支,若是OK,能夠放到dev分支進行測試,若是測試沒有問題了才放到master分支。
           master分支:線上的版本,永遠保證線上的版本,不管是回滾到哪都是能用的

以上內容參考博客:http://www.cnblogs.com/wupeiqi/articles/7295372.html

相關文章
相關標籤/搜索