2020-04-01

Git版本控制

一、如何通過git將項目推送到github遠程倉庫

首先,電腦里需要安裝了git,還有自己的github賬戶。
第一步:我們需要先創(chuàng)建一個本地的版本庫(其實也就是一個文件夾)。然后在里面書寫自己的項目
       mkdir projects
第二步:初始化:           
        進入這個文件夾, git init 
配置個人信息:
    # 全局配置個人信息
    git config --global user.name "username"
    git config --global user.email "email@qq.com"
查看git設(shè)置列表信息
     git config --list 
第三步:  1.通過git status查看當(dāng)前文件的狀態(tài),也可以跳過這一步;
        2.通過git add '指定文件'  添加到倉庫,
        3.或者通過git add .      把該目錄下的所有文件添加到倉庫。
第四步:提交:
        git commit -m "提交內(nèi)容-描述"。
第五步:創(chuàng)建密鑰、公鑰SSH KEY。先看一下你C盤用戶目錄下有沒有.ssh目錄,有的話看下里面有沒有id_rsa和             id_rsa.pub這兩個文件,有就跳到下一步,沒有就通過下面命令創(chuàng)建:

       ssh-keygen -t rsa -C "youremail@example.com"

 然后一路回車。這時你就會在用戶下的.ssh目錄里找到id_rsa和id_rsa.pub這兩個文件。
 
 查看id_rsa.pub公鑰:  1. cd ~/.ssh  
                    2. ls   
                    3.  cat id_rsa.pub 
第六步:登錄Github,找到右上角的圖標(biāo),打開點進里面的Settings,再選中里面的SSH and GPG KEYS,
       1.點擊右上角的New SSH key,然后Title里面隨便填,
       2.再把剛才id_rsa.pub里面的內(nèi)容復(fù)制到Title下面的Key內(nèi)容框里面,最后點擊Add SSH key,完成鑰匙配置
第七步:在Github上創(chuàng)建一個Git倉庫。
 第八步:倉庫進行關(guān)聯(lián):
        在Github上創(chuàng)建好Git倉庫之后我們就可以和本地倉庫進行關(guān)聯(lián)了,根據(jù)創(chuàng)建好的Git倉庫頁面的提示,
        可以在本地TEST倉庫的命令行輸入:
 
        git remote add origin "遠程倉庫地址"
第九步:關(guān)聯(lián)好之后我們就可以把本地庫的所有內(nèi)容推送到遠程倉庫(也就是Github)上了,通過:
       $ git push -u origin master

第十步:由于新建的遠程倉庫是空的,所以要加上-u這個參數(shù),等遠程倉庫里面有了內(nèi)容之后,
      下次再從本地庫上傳內(nèi)容的時候只需下面這樣就可以了:
      $ git push origin master

    這時候你再重新刷新你的Github頁面進入剛才新建的那個倉庫里面就會發(fā)現(xiàn)項目已經(jīng)成功上傳了.
第十一:遠程倉庫clone到 服務(wù)器項目文件夾中:
       git clone 遠程倉庫地址

二、常用遠程推送失敗等問題 、 解決方案:

問題一: error: failed to push some refs to '遠程倉庫地址'

1.解決方案:git pull --rebase origin master 
2.git push -u origin master               --"這樣,就可以重放您的本地提交在新更新的原始/master之上。"

問題二:fatal: remote origin already exists.

 1、先輸入$ git remote rm origin
 2、再輸入$ git remote add origin   '遠程倉庫地址'

問題三:fatal: Could not read from remote repository.

1.遠程倉庫地址不對,查看一下 :   git remote -v 
2.然后在終端輸入:               git remote set-url origin 遠程倉庫地址
3.重新push就可以了:            git push -u origin master    

二、git版本其他 命令

3.查看歷史版本

git log
git reflog

git reflog 可以查看所有分支的所有操作記錄(包括commit和reset的操作),包括已經(jīng)被刪除的commit記錄,git log 不能察看已經(jīng)刪除了的commit記錄

4.回退版本

方法一:

  • HEAD表示當(dāng)前最新版本
  • HEAD^表示當(dāng)前最新版本的前一個版本
  • HEAD^^表示當(dāng)前最新版本的前兩個版本,以此類推...
  • HEAD~1表示當(dāng)前最新版本的前一個版本
  • HEAD~10表示當(dāng)前最新版本的前10個版本,以此類推...
git reset --hard HEAD^

方法二:

當(dāng)版本非常多時可選擇的方案

# 通過每個版本的版本號回退到指定版本
git reset --hard 版本號

5.撤銷修改

  • 只能撤銷工作區(qū)、暫存區(qū)的代碼

    • 撤銷工作區(qū)代碼

      git checkout 文件名
      
    • 撤銷暫存區(qū)代碼

      # 第一步:將暫存區(qū)代碼撤銷到工作區(qū)
      git reset HEAD  文件名
      # 第二步:撤銷工作區(qū)代碼
      git checkout 文件名
      
  • 撤銷倉庫區(qū)的代碼就相當(dāng)于回退版本操作

6.版本對比

  • 對比本地倉庫庫與工作區(qū)
    • 在工作區(qū),修改文件
    • git diff HEAD -- test1.py
  • 對比本地倉庫各版本代碼
    • git diff HEAD HEAD^ -- test1.py

7.文件刪除

  • 確定刪除處理

    # 刪除文件
    rm 文件名
    # git確定刪除文件,對比添加文件git add 
    git rm 文件名
    # 刪除后記錄刪除操作版本
    git commit -m '刪除描述'
    
  • 誤刪處理,撤銷修改

    # 刪除文件
    rm 文件名
    # git撤銷修改
    git checkout -- 文件名
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Git 是目前最流行的分布式版本控制系統(tǒng)之一。 版本控制指的是,記錄每次版本變更的內(nèi)容和時間等細(xì)節(jié),保留各版本之間...
    神齊閱讀 1,459評論 0 7
  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當(dāng)前所在目錄變成...
    冬絮閱讀 4,884評論 0 9
  • Git是目前世界上最先進的分布式版本控制系統(tǒng)! 解釋給小白:版本控制系統(tǒng)不但能自動幫我記錄每次文件的改動,還可以讓...
    imacoder閱讀 269評論 0 1
  • 其實使用git已經(jīng)有兩年多時間了,但是對Git的概念一直懵懵懂懂,平時常用的命令就那么幾個,而且大部分的時候都是直...
    Claire_wu閱讀 610評論 0 5
  • 昨天在同事電腦上操作了一把cherry-pick代碼,發(fā)現(xiàn)很多功能不用,就慢慢忘記了,梳理了下流程圖: git c...
    gogoingmonkey閱讀 688評論 0 0