git命令合集及github的克隆推送

  1. 安裝git
  2. 初始化倉庫
  3. 提交相關
  4. 撤銷相關
  5. 遠程推送
  6. 分支相關
  7. 其餘
  8. 遇到的錯誤
  9. github的克隆上傳

 

此文章只是對命令的一個統計,起備忘和複習git只是的做用,不建議從沒接觸過git的同窗經過它來學習git。linux

git中的術語解釋:

  1. repository:倉庫也叫版本庫
  2. stage:暫存區,add後會存到暫存區,commit後提交到版本庫

linux下安裝git

   第一種方法:yum install git-core  安裝的版本比較老git

   第二種方法:(我是linux centos)github

     卸載老版本centos

    yum remove git bash

    安裝依賴app

      yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoccurl

      yum instalgcc perl-ExtUtils-MakeMaker 學習

    執行安裝url

     wget https://github.com/git/git/archive/v2.2.1.tar.gz tar -zxvf v2.2.1spa

     cd git-2.2.1

     make configure ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

     make

     make install

     echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc

     source /etc/bashrc

      

 

 初始化一個倉庫 

  先新建一個文件夾  mkdir  test        

  進入該文件夾執行git init命令,就能初始化倉庫了

 

 

提交相關

   添加文件到倉庫

      git add <file>

   提交代碼

    git commit  -m "說明"

   記錄提交歷史

     git log

  記錄着操做命令,也就是命令歷史

     git reflog

  把工做區的內容添加到暫存區

     git add <文件>

 把暫存區的內容提交到當前分支

    git commit -m "提交說明"

  將現有工做區的隱藏起來

     git  stash

 恢復隱藏的工做區

    git stash pop

  查看隱藏的工做區的內容

      git stash list

 指定恢復哪個隱藏的工做區內容

     git stash apply stash@{0}

 提交時忽略指定文件

     在當前倉庫目錄下新建.gitignore文件,在其中寫要忽略的文件名便可

 

 

 

撤銷相關

將工做區的修改撤銷掉

      git checkout -- a.txt   (注意:--很重要,若是沒有--,這個命令就變成了切換分支)

這個撤銷會有兩種效果

  第一種是修改後沒有放到暫存區,那麼撤銷後會回到和版本庫同樣的狀態

  第二種是修改後放入了暫存區,又作了修改,那麼撤銷後會回到和暫存區同樣的狀態。

  總之,就是讓這個文件回到最近一次git commit或git add時的狀態。

將暫存區的修改撤銷掉

  git  reset HEAD  file

代碼回退   (提交一次就有一個版本,HEAD表示當前版本,HEAD^表示上一個版本,HEAD~10表示前第100個版本)

  git reset --hard HEAD^      //回退到上一個版本

代碼回退以後還能夠前進,只要知道前一個版本的版本號

  git reset --hard 3628164     //版本號不用寫全,前幾位便可

若是刪除了文件

  想讓版本庫裏的文件也刪掉

  第一步:git rm -- a.txt

  第二步:git commit -m ""

想讓工做區刪除的文件恢復

  git checkout -- a.txt

 

 遠程庫推送相關

關聯遠程庫

  git remote add origin git@github.com:mmcLine/firstGit.git

第一次推送信息

  git push -u origin master

不是第一次推送信息

  git push origin master

查看遠程庫的信息

  git  remote

  git remote -v   更詳細的信息

推送遠程倉庫有衝突的處理

  git push origin dev  發現失敗,有衝突

  git pull 把最新的提交抓下來(git  pull若是失敗運行   git branch --set-upstream dev origin/dev   再git  pull)

  在合併,若是有衝突就手動解決後在提交

 

 

分支相關

建立分支

  git branch <name>

建立並切換分支

  git checkout -b dev

查看當前分支

  git  branch

把dev分支合併到master上

  git merge dev

刪除分支

  git branch -d dev

有衝突的時候先手動解決衝突在提交

查看提交的分支表

  git log --graph

  禁用Fast forward的合併,禁用後每次都會有新的提交

  git merge --no-ff -m "merge with no-ff" dev

強行刪除分支

  git branch -D <name>

 

其餘:

設置git操做命令的別名

  git config --global alias.st status    //將git status 設置別名爲git st

要刪除別名的設置

  配置文件在.git裏面的config裏面,或者對應用戶的家目錄裏的.gitconfig刪除別名就在文件裏刪除別名就行了

 

 

 

二,遇到的錯誤

  1. 添加遠程配置時出現fatal: 遠程 origin 已經存在。提示

        處理方法:git remote rm origin

  1. 從github克隆時報這個錯誤while accessing https://github.com/mmcLine/gitskills.git/info/refs

      git的版本過低了,我以前是yum安裝了,我卸載了用源碼安裝就行了

 

 

三,github相關操做

  1. 從github下載代碼

  git clone git://github.com/mmcLine/firstGit.git

  備註:也可以使用git clone https://github.com/mmcLine/firstGit.git的格式

mmcLine和firstGit分別對應圖中的這兩個參數,修改爲本身的就好了

   

2,推送代碼到github

  修改了代碼以後:

  git add test.txt

  git commit -m "test"

  git push -u origin master   如果第一次推送使用此命令

  git push origin master  不然使用此推送命令

相關文章
相關標籤/搜索