GIT的基本使用及應用場景

  1、什麼是GIT?

  Git 是一個開源的分佈式版本控制軟件,用以有效、高速的處理從很小到很是大的項目版本管理。html

  GitHub、GitCafe、BitBucket和GitLab等是基於Git版本控制的遠程文件託管平臺。git

  使用場景:github

  • 無遠程:在本地 .git 文件夾內維護歷時文件
  • 有遠程:在本地 .git 文件夾內維護歷時文件,同時也將歷時文件託管在遠程倉庫

  PS: 
      集中式:遠程服務器保存全部版本,用戶客戶端有某個版本
      分佈式:遠程服務器保存全部版本,用戶客戶端有全部版本vim

  2、安裝GIT

  參見:http://git-scm.com/服務器

  PS: 註冊GitHub、GitCafe、BitBucket和GitLab等帳戶,以便於將文件託管在遠程。app

  3、GIT的相關命令

git init   初始化  生成 .git 文件,用於保存git相關全部信息,如:每一個版本

git status  查看狀態

git add 文件名或.    '.'表示工做區被修改的全部內容    添加到暫存區。

git commit -m '對修改內容的描述信息'     從暫存區提交到分支。

配置用戶信息:
git config --local user.name '用戶名' 

git config --local user.email '郵箱地址'

git ls-tree head   查看版本中全部文件

git ls-files -s     查看暫存區和分支中全部文件

git log   查看已生效的操做日誌

git reflog  查看全部日誌

git reset --hard  後接log裏的指定隨機字符串    回滾到指定位置

git reset --mix 後接reflog日誌裏開頭的前7位    再回滾到以前指定的位置

git checkout 文件名   切換到指定文件

git stash    將當前已經作過的修改,保存到一個臨時地方

git stash pop      臨時地方內容從新放回工做區,恢復並刪除最近一次保存的內容
    出現衝突,手動解決:
"""
        <<<<<<< Updated upstream
    以前的代碼1
        以前的代碼2
    =======
    以前的代碼1
        以前的代碼2
    開發直播功能到一半
        >>>>>>> Stashed changes
        手動解決結果:

        以前的代碼1
        以前的代碼2
    開發直播功能到一半

"""                            
git stash apply ‘名稱’  恢復指定名稱的內容

git stash drop  ‘名稱’   刪除指定名稱的內容

git stash list   查看全部臨時空間裏的全部內容

git stash clean  清空臨時空間裏的所有內容

master:只保留線上版本

dev:   保存全部開發版本

git branch dev   建立分支(會copy當前分支,注意當前分支的位置)

git checkout dev  進入dev分支

git checkout master   切換到master分支

git merge dev   合併dev分支,注意必須在master分支上合併

git branch -d dev   刪除dev分支
GIT 經常使用命令
git remote add origin https://github.com/xxx/xxx.git   添加遠程鏈接並取別名 origin

git push origin master   將本地master分支推送至遠程倉庫

git clone https://github.com/xxx/xxx.git   從遠程倉庫克隆到本地目錄
裏面有config文件,自動配置鏈接地址

git branch dev origin/dev   克隆後只有master分支,同步其餘分支

git fetch origin dev   從遠程倉庫獲取最新內容到本地dev分支

git pull origin dev  從遠程倉庫獲取最新內容到本地dev分支的工做區裏的原內容區   「勁兒大」
GitHub 經常使用命令

  詳情見圖:ssh

分支合併分佈式

命令詳解ide

   4、fork

  fork,就是別人有一個開源項目,你發現裏面有bug,能夠fork別人的項目,進行修改。說直白一點,就是能夠克隆一份到本地。fetch

  當你下載到本地,進行修改完成之後,你push到你本身的GitHub,而後你但願這個項目的開發者,採納你修復的bug。你能夠經過new pull request這個按鈕向開發者發送你的描述信息。開發者認同你的代碼的話,就有可能合併你的代碼了。

  5、應用場景

   開發新功能共有兩種方式:

  • stash
  • 分佈式

  未完待續...

  6、其餘

  一、關於登陸

  在鏈接GitHub的時候,是須要登陸的,登陸驗證有兩種方式:1、https://xxx.com 經過用戶名和密碼的方式;2、經過SSH鏈接,咱們在git命令行利用ssh-keygen.exe來生成公鑰和私鑰,公鑰放在id_rsa.pub裏面。拷貝里面的字符串,放在GitHub上我的設置裏面有SSH and GPG keys裏給設置上就齊活了。下次只要是SSH鏈接就不用管登陸驗證的問題了,公鑰和私鑰會自動匹配驗證。

  二、忽略文件

  咱們知道pycharm在生成新的project的時候,都會生成一個.pyc後綴結尾的文件,而這個文件基本上沒什麼用,因此,咱們在文件上傳的時候,就能夠過濾掉一些沒用的文件,怎麼過濾呢,咱們在git命令行vim .gitignore 進入後,在這個裏面添加上咱們須要過濾掉的文件名,如:*.pyc   a.py 等,這樣在執行git status的時候,就會自動過濾掉文件裏匹配的相關文件了。再文件上傳的時候,就不會上傳上去了,就完成了忽略文件的做用。

 

  友情連接:請猛戳這裏

相關文章
相關標籤/搜索