GIT

Git簡介

Git誕生

集中式管理收費,分布式管理BitKeeper收費,后來由于有人破解,BitKeeper對Linux平臺收回使用權,Linus用兩個星期用C開發了分布式版本管理系統Git。

集中式和分布式

集中式SVN、CVS必須聯網,如果使用需先從中心服務端更新數據,編寫代碼之后還要上傳回中心服務

分布式無需中心服務

安裝Git

windows安裝

msysgit是Windows版的Git,從https://git-for-windows.github.io下載(網速慢的同學請移步國內鏡像),然后按默認選項安裝即可。

安裝完成后,在開始菜單里找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!

安裝后需要配置

$ git config --global user.name "yourname"

$ git config --global user.email "email@email.com"

創建版本庫(repository)

讓git管理某一個文件夾

初始化,把這個目錄變成git可管理的目錄

$ git init

其中的.git是git用來管理版本庫的,默認是隱藏文件

版本控制系統可以告訴你每次的改動,比如在第5行加了一個單詞“Linux”,在第8行刪了一個單詞“Windows”。而圖片、視頻這些二進制文件,雖然也能由版本控制系統管理,但沒法跟蹤文件的變化,只能把二進制文件每次改動串起來,也就是只知道圖片從100KB改成了120KB,但到底改了啥,版本控制系統不知道,也沒法知道。

把文件放入git

$ git add "文件名"

$ git add -A//添加所有改動

$ git add *//添加新建文件和修改,不包含刪除

$ git add .//添加新建文件和修改,不包含刪除

$ git add -u//添加修改和刪除,但是不包括新建

提交

$ git commit -m ""

在commit之前撤銷add文件

$ git reset //撤銷提交單獨文件

$ git reset//撤銷所有

-m后面是用來說明這次文件修改了什么

每次修改都要git add -A,然后再git commit把修改的內容提交,add是把內容存在暫存區,

控制回退

$ git status用來查看倉庫的狀態

no changes added to commit (use "git add" and/or "git commit -a")

上一句表示有文件修改,但是沒有提交

$ git diff用來查看修改了什么東西,也就是之前$ git commit -m輸入的內容

版本回退

$ git log用來查詢之前的信息記錄,單行顯示用$ git log --pretty=oneline,顯示方式是從近到遠,HEAD表示是當前的版本,前面的數字是commit id

$ git reset --hard 3628164回退到某一個版本

$ git reflog可以查看之前做過的操作,可以再回退錯誤的情況下返回

暫存區和工作區

git 默認會為我們創建一個默認分值master,以及指向master的指針head

.git是git的版本庫,其中最重要的是stage(暫存區)

add指令相當于將文件提交到暫存區(stage),commit是把文件提交到分支

撤銷修改

git checkout -- file如果工作區修改內容沒有提交到stage,直接恢復到沒修改之前的,如果沒有提交到分支,那就回到上一次緩存區內容

刪除操作

git rm file從版本庫中刪除某個文件

遠程倉庫

創建SSH KEY

Github需要通過公鑰來識別是否是你提交的

$ ssh-keygen -t -rsa -C "郵箱地址"

登錄github在設置中找到SSH and GPG Key 把SSH中title隨意些,下面粘貼上user目錄下的.ssh下的id_rsa.pub的內容

添加遠程庫

(這種方法是現有的本地庫,后有遠程庫)

在github中create a new repo 按鈕,創建一個遠程庫

$ git remote add origin git@github.com:“自己的地址”把本地頁面與遠程庫關聯;

$ git push -u origin master第一次,遠程庫中沒有數據,需要使用該指令將本地版本庫中內容push到遠程庫

以后只要本地做了修改,使用add、commit 然后使用$ git push origin master即可同步到遠程庫

從遠程庫克隆

(這種辦法是現有遠程庫,然后克隆到本地)

首先先創建一個遠成倉庫,在github上創建

git clone git@github.com:brightestcandle.git用來clone一個遠程倉庫到brightestcandle文件夾下,會在打開gitbanch目錄下創建

把文件放到該目錄下之后,addcommit -m “” git push即可

*此處需要注意的是,git支持https協議,使用https除了速度慢以外,還有個最大的麻煩是每次推送都必須輸入口令,但是在某些只開放http端口的公司內部就無法使用ssh協議而只能用https。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,695評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,700評論 9 163
  • 那是一個冬日的夜晚,我們幾個人從茶店里出來,頓時感到寒氣襲人,馬上把衣領拉了起來。還不到十點鐘,行人已...
    秘蜜閱讀 269評論 0 0
  • 看了宇航的說說,中元節,也就是鬼節,另一種說法是七月半,勾起了我的回憶。印象中第一次接受這個節,緣于一次走夜路經歷...
    殘落閱讀 388評論 0 1
  • 1、從左往右,依次比較相鄰的數的大小,如果前一個數比后一個大,則交換位置2、一輪過后,最右邊的數肯定已經為最大值,...
    jnxc1888閱讀 172評論 0 0