1. 程式人生 > >python ----------- [email protected]

python ----------- [email protected]

git

1.git簡介

image
在這裡插入圖片描述

  • workspace 工作區
  • index 暫存區
  • repository 本地版本庫
  • remote 遠端倉庫

2.常用git命令

所有的git命令必須在工作區內能使用,工作區就是你的專案目錄

  • git --version 檢視版本
  • git config -l 檢視配置資訊
  • 修改name和email
    • git config --global user.name ‘ddd’
    • git config --global user.email ‘[email protected]
    • git config --global push.default matching
  • 克隆版本庫
    • git clone 版本庫地址 將遠端服務上的專案克隆到本地
  • 建立版本庫
    • git init 初始化一個新的專案 ,必須切換到版本庫所在目錄
    • git remote add origin 遠端倉庫地址
  • 將檔案新增到暫存區
    • git add 檔名 將指定檔案新增到暫存區
    • git add . 將所有檔案新增到暫存區
    • git reset HEAD 撤銷暫存區的修改
  • 檢視修改
    • git diff
  • 提交程式碼到版本庫
    • git commit <檔名> -m “說明資訊”
    • git commit -a -m 提交所有檔案
  • 將原生代碼推送到遠端託管伺服器
    • git push [origin master] 預設推送到主分支
    • git push origin 分支名 推送到指定分支
  • 從遠端伺服器拉取內容
    • git pull origin 分支名
    • –allow-unrelated-histories 解決本地和遠端庫不同的問題
  • 刪除檔案
    • git rm 從版本庫中刪除檔案
  • 檢視版本庫狀態
    • git status
  • 檢視提交記錄
    • git log
    • git log --pretty=oneline
      -版本回退
    • git reset --hard head~n
      • head~ 上一個版本
      • head~~上兩個版本
      • head~n 上n版本
    • git reset --hard 版本號
    • git reflog 檢視每個版本的版本號

3.git使用流程

  • 首先到託管伺服器上建立一個空版本庫,例如在github、coding、oschina等
  • 然後克隆到本地(clone)建立一個新專案
  • 或者可以通過初始化專案建立一個新專案 git init
    • git remote add origin 遠端倉庫地址
  • 新增程式碼檔案(git add)
  • 提交程式碼到本地庫 git commit -m
  • 將程式碼推送到遠端伺服器 git push
  • 從遠端伺服器拉取程式碼git pull

4 衝突管理

  • 如果有多個人同時修改同一個檔案的相同行,在推送時會有衝突
  • 發生衝突後,首先將伺服器端程式碼拉到本地(pull),手動合併衝突
  • 然後新增修改後的程式碼檔案,重新提交
  • 將程式碼推送到伺服器

5 分支管理

  • master 主分支,記錄釋出版本
  • online 線上分支 正在執行的版本
  • develop 開發分支 用於測試
  • local 本地分支
  • 分支管理常用命令
    • git branch 檢視分支
    • git branch 新分支 [舊分支] 基於舊分支建立新分支
    • git branch -d 分支名 刪除分支
    • git checkout 分支 切換到指定分支
    • git merge 分支名 將指定分支合併到當前分支

問題

  • 忽略提交,在工作區中編寫一個.gitignore檔案,在檔案中記錄不需要提交的目錄和檔案

  • 如果克隆的時候出現了: unable to access ‘https://git.coding.net/landmark/php1702.git/’: error setting certificate 解決方式:

    • Git config --global http.sslVerify false
  • 免密提交

    • 1 生成公鑰對

      cd   #回到家目錄
      ssh-keygen -t rsa -C "自己的郵箱"
      id_rsa 私鑰  id_rsa.pub 公鑰
      
    • 2 將公鑰新增到碼雲伺服器上

      複製id_rsa.pub的內容
      碼雲 ----> 個人設定-->ssh公鑰,將複製的內容黏貼到“公鑰內容”中
      選中永久有效
      新增
      
    • 3.測試連線

      ssh -T [email protected]
      
      [email protected]:~/.ssh$ ssh -T [email protected]
      Warning: Permanently added the RSA host key for IP address '123.59.83.79' to the list of known hosts.
      Coding 提示: Hello landmark, You've connected to Coding.net via SSH. This is a personal key.
      landmark,你好,你已經通過 SSH 協議認證 Coding.net 服務,這是一個個人公鑰 # 表示通過
      
    • 4 使用專案的ssh地址,可以clone或init/remote add