git邏輯和基本命令 git 從遠程倉庫獲取全部分支

提交和推送的區別

提交(commit):把您作的修改,保存到本地倉庫中
推送(push):把您本地倉庫的代碼推送至服務器(通常是遠程服務器及gitlab或github)

拉取和獲取的區別

git  pull     從遠程拉取最新版本 到本地  自動合併 merge   
        不帶分支地址默認拉取所在分支的代碼,正常:git pull origin master
git  fetch   從遠程獲取最新版本 到本地   不會自動合併 merge 正常操做以下: 
        git fetch  origin master      
        git log  -p master ../origin/master    
        git merge orgin/master

分支和合並

git branch  XXX   建立分支(代碼會從master複製過來)   
git checkout XXX 切換分支(代碼也會切換成XXX的代碼。
           若是xxx分支代碼有後續提交過和mster不同,這時就全不同了,
           不會合並哦,別搞錯,跟master代碼不要緊)
git merge XXX 合併XXX分支(假如你如今master,這時master就合併了XXX分支
的代碼,XXX分支代碼仍是原來的代碼)

合併代碼有兩種方案:

1.主分支合併xxx分支
  首先你必須在master分支上,若是你在ccc分支上,那就是ccc分支合併xxx分支的代碼【gitlab上合併到主分支能夠申請】,merge是合併了代碼和提交路徑等等git fetch origin xxx
git log -p master..origin/xxx
git merge origin/xxx
2.拉取的方法
git pull xxx 拉取xxx的代碼過來,併合並
區別:git pull = git fetch + git merge

 

拉取線上代碼,覆蓋本地已改的代碼或恢復誤刪文件,及恢復線上版本

git fetch  或者 git fetch --all
git reset --hard XXX 例如:git reset --hard branch_y (而後git pull 能夠更新線上代碼,避免衝突)

版本回退

1.假設有2個提交記錄html

commit def5adef853da4cc05752bdb36577c127be71ba5linux

Author: 132982jianan <1072772483@qq.com>
Date:   Thu Dec 28 16:01:36 2017 +0800git

 

    add data to 1.txtgithub

commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date:   Thu Dec 28 15:59:46 2017 +0800bash

 

    init 1.txt
(END)服務器

2.如今回到最開始的那一個提交
git reset --hard f36801544670e00b2f59a28e19017d2786c4085egitlab

3.查看日誌,就會發現只剩下一個提交了
git logpost

commit f36801544670e00b2f59a28e19017d2786c4085e
Author: 132982jianan <1072772483@qq.com>
Date:   Thu Dec 28 15:59:46 2017 +0800fetch

    init 1.txt
(END)url


4.這個時候,發現回退版本錯了,那麼就用git reflog查看提交記錄
git reflog

f368015 HEAD@{0}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{1}: reset: moving to def5ade
f368015 HEAD@{2}: reset: moving to f36801544670e00b2f59a28e19017d2786c4085e
def5ade HEAD@{3}: commit: add data to 1.txt
f368015 HEAD@{4}: commit (initial): init 1.txt


5.找出想要回退的版本,進行回退

恢復
git reset --hard def5ade

在工做目錄中初始化新倉庫

要對現有的某個項目開始用 Git 管理,只需到此項目所在的目錄,執行:



$ git init

從現有倉庫克隆

克隆倉庫的命令格式爲 git clone [url]
$ git clone git://github.com/schacon/grit.git

git 從遠程倉庫獲取全部分支

git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

git添加忽略或刪除

 window 右鍵git裏添加忽略

  

linux :

  vi   .gitignore 

    寫入你要忽略的文件或文件夾 

 

git保留帳號密碼

 

在項目目錄裏(及git clone下來的項目的裏面)

  vi .git/config

而後添加

  [credential]
    helper = store

 接着

  git pull 

輸入用戶名、密碼自動保存

相關文章
相關標籤/搜索