git的基本使用

來自bilibili的git學(xué)習(xí)

git作者

是linux的作者(linux的開發(fā)是根據(jù)unix的開源盜版),但是作者為了能夠控制版本,所以開發(fā)了一個版本控制工具,但是當(dāng)時使用的是BotKeeper這個收費(fèi)的軟件,但是為了能夠更好的使用,這個大神就自己開發(fā)了一個
所以說git最早就是管理linux的代碼的,逐步延伸了windows版本和max版本

git和svn的對比

  1. svn是一個集中式的版本管理工具。使用的時候需要先在服務(wù)器上裝一個svn服務(wù)器,客戶機(jī)直接提交代碼到svn服務(wù)器,所以是一個集中式的代碼管理工具
  2. git是分布式的版本管理工具,也就是說沒有中央服務(wù)器,在每個客戶機(jī)上都有一個獨(dú)立的版本倉庫。
  3. git的工作機(jī)制:每個開發(fā)人員都有自己的一個本地版本倉庫,這樣就可以直接和自己的倉庫進(jìn)行信息交換,從而達(dá)到版本的控制,如果是單人項目,那么就可以直接自己使用自己的本地倉庫就完事了。多人項目時,這個時候就需要交換代碼,所以就需要一個遠(yuǎn)程倉庫(共享版本庫),那么每個人需要做的就是將自己的代碼復(fù)制(push)到遠(yuǎn)程倉庫即可,其他人需要代碼時就可以直接在共享倉庫中下載(clone)即可。
  4. 所以git和svn最大的區(qū)別在于,能夠在不需要多人項目時,git有一個本地倉庫的概念,但是svn沒有,只有自己的獨(dú)立 倉庫就完事了。其實本質(zhì)的原理沒什么區(qū)別,只是操作方式的一點區(qū)別罷了

git的工作流程

首先創(chuàng)建一個本地倉庫
然后就可以向本地倉庫添加代碼
代碼可以放到工作區(qū)
如果需要將工作區(qū)加到本地倉庫中,就需要先將工作區(qū)代碼加到暫存區(qū)中,然后再提交到本地倉庫即可
然后如果需要協(xié)作開發(fā),就可以將本地倉庫向遠(yuǎn)程倉庫復(fù)制一份即可


Image1.png

git的安裝

首先下載安裝git
安裝完成后右鍵可以看到兩個選項

  • Git GUI,也就是git的圖形界面
  • GIT BASH,也就是git的命令行,在哪個文件下右鍵,顯示的命令行路徑就是在哪個文件下
    使用git --version可以看git的版本

TortoiseGit的使用

安裝時選擇使用OpenSSH
注意需要指定git的牡蠣
配置一個姓名和郵箱
安裝完畢即可右鍵多出來三個
Git Clone
Git Create reposity here
TortoiseGit

漢化烏龜

下載 語言包
安裝語言包
然后右鍵setting,選擇language中就可以換語言包了

使用git

創(chuàng)建一個本地倉庫

  1. 右鍵GIT GUI 選擇createXXX
  2. GIT BASH直接使用命令git init
  3. 使用烏龜,有一個創(chuàng)建版本庫,注意不要選擇制作純版本庫(會制作一個不帶目錄的版本庫)

向本地版本庫中添加文件

首先,如果想向本地倉庫中添加文件,那么你建立的文件,就需要在本地倉庫這個目錄下,也就是和.git同級的目錄下
右鍵文件,選擇烏龜?shù)奶砑蛹纯桑ㄗ⒁庵貑ⅲ?br> 這個時候有個+,是在暫存區(qū)中
區(qū)分幾個概念

  • 工作目錄就是工作區(qū),也就是和.git在同一級下的那個目錄
  • 點擊添加,就添加到了暫存區(qū)
  • 點擊右鍵的提交,就可以提交到,其中必須寫一個日志,然后點擊提交,就可以添加到本地倉庫中

修改內(nèi)容

首先,對于烏龜來說,有一個版本庫瀏覽器,可以看到本地倉庫中的文件
修改文件后,可以直接點擊提交到"master",其中需要填寫日志
之后可以右鍵顯示日志來查看版本,還可以比較版本差異

刪除文件

  • 誤刪,可以從版本庫中進(jìn)行還原
  • 真正想刪除,對文件進(jìn)行刪除之后,可以點擊提交,并寫上日志,點擊提交
    這樣版本庫瀏覽器中就沒有了對應(yīng)的文件
  • 只刪除版本庫中的文件,但是保留本地文件,就可以選擇刪除保留本地副本

實戰(zhàn)

將java工程加到本地倉庫

首先,放到對應(yīng)的本地倉庫同級目錄下
其次添加到暫存區(qū)

注意的是,這個時候可能需要忽略一些文件,因為對于版本控制來說我們只需要關(guān)注代碼就可以了,所以像.idea和out目錄都可以
Image2.png

不要

忽略的操作,選中對應(yīng)文件夾,點擊右鍵,點擊刪除并添加到忽略列表,選擇根據(jù)名稱刪除和忽略,選擇遞歸,也就是忽略該文件夾下的文件和文件夾
跟著一些操作就完事了
這樣會生成一個.gitgnore,其中的信息就是忽略的文件夾的名稱,這樣的話,這個問價 也需要加到版本庫 中

遠(yuǎn)程倉庫github(gitee中國的)

這個就可以幫助我們來多人協(xié)助工作
我們在github上手動創(chuàng)建一個project
然后記得不要選擇建立一個README這個選項

將本地倉庫推送到遠(yuǎn)程

  1. SSH方式(需要ssh的公鑰密鑰之間建立連接)

兩步,第一步,建立連接
第二步,推送本地倉庫信息
實戰(zhàn)

生成密鑰對$ ssh-keygen -t rsa一路回車就完事了
生成在當(dāng)前用戶目錄下的.ssh目錄下,其中有后綴是.pub的就是公鑰,沒有的就是私鑰,打開公鑰,復(fù)制內(nèi)容,放在github中

在github中選擇setting,選擇ssh and GPG keys,在其中寫上title,將公鑰復(fù)制在里面就好了,然后保存即可以,只需要設(shè)置一次,針對當(dāng)前用戶就可以了
然后就可以建立連接,git remote add origin +github給出的那個路徑
推送本地倉庫git push -u origin master ,然后就可以推送去了
實際操作

首先有一個ssh協(xié)議來保證安全,然后建立連接,然后推出自己的本地倉庫

  1. 圖形界面
    -- 1.首先確認(rèn)該烏龜使用的是我們與github之間定義的那個ssh管理關(guān)系


    Image3.png

對應(yīng)的就是Git->user->bin->ssh.exe
-- 2.建立連接,第一個名稱,一般都叫做origin(無所謂),url在github中獲取
putty密鑰建立好的ssh私鑰(記得選擇全部文件)


Image4.png

-- 3.然后點擊推送即可

未操作成功,待續(xù)。。。。

  1. 使用https進(jìn)行推送
    這個就比較簡單了,直接使用圖形化界面,就是直接輸入遠(yuǎn)端和URL即可,在推送的時候會需要輸入github的密碼
總結(jié)一下推送到遠(yuǎn)程倉庫
對于ssh來說,第一步是需要建立一個ssh的協(xié)議,獲取ssh的密鑰
對于https,就直接使用就可以了

在實際操作中,只需要建立好origin就可以將該次項目,多次向一個github的project中多次簡介的推送,即點擊對應(yīng)的推送按鈕就可以實現(xiàn)推送
但是其實無論怎么樣都可以推送到github,所以為什么不選擇一個簡單的方式呢

從遠(yuǎn)程倉庫克隆一個倉庫到本地

  1. 建立一個目錄
  2. 使用命令行 git clone +github給出的路徑
git clone xxx

搭建一個私有的git服務(wù)器

在linux中操作,解決的是項目代碼需要保密,這種情況下不能將代碼放在github上,所以就需要搭載一個私有的git服務(wù)器,需要的時候再學(xué)習(xí)

在idea上使用git

  1. 首先在idea中配置一下git
    setting->Version Control ->Git
    選擇一下git.exe的路徑即可
  2. 創(chuàng)建一個本地倉庫,也就是將該項目所在目錄的上一次目錄建立成一個本地倉庫


    Image5.png
Image6.png

這樣就可以將該項目添加到暫存區(qū)了
然后點擊右上角新出現(xiàn)的git中的對號就可以commit到本地倉庫了


Image7.png

這里可以選擇想要導(dǎo)入提交到本地倉庫的哪些信息
還可以寫上對應(yīng)的日志文件

將本地代碼推到共享倉庫(github)

操作時VCS->Git->push->Define remote
使用https方式,添加上url即可push,其中需要輸入github賬戶和密碼

從遠(yuǎn)程倉庫clone

Image8.png

添加上URL即可clone(使用https的方式)
然后一直下一步就完事了

總結(jié)

首先是創(chuàng)建一個項目,然后從VCS->Import Into Version Control->Create git Repository,選擇該項目的上一級目錄,也就是在該項目同級的地方建立一個.git文件夾
項目修改完畢之后,可以點擊右上角的對鉤,在彈出的頁面中寫上日志以及選擇需要添加到本地倉庫的文件夾和文件,然后就可以添加到本地倉庫
然后點擊VCS->GIt->Push->Define remote ->寫上github的https的地址即可實現(xiàn)本地倉庫push到共享倉庫

小知識點

1.SSH是什么,是一個現(xiàn)在較為可靠的一個遠(yuǎn)程通信協(xié)議專為遠(yuǎn)程登錄 會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,可以有效防止信息的泄露;是基于密鑰的安全驗證,

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Git的使用心得 由于公司對我的代碼管理不嚴(yán)謹(jǐn),所以荒廢了好久的Git,一直就沒怎么用,后面也多忘光了,所以再次重...
    IUVO閱讀 339評論 0 1
  • 一. 掌握 - git 概述 1. git 簡介? 什么是git? > git是一款開源的分布式版本控制工具 > ...
    Louis_hey閱讀 548評論 1 3
  • (此文作為個人學(xué)習(xí)、回顧用,如有不足之處,請不吝指出。隨理解深入,持續(xù)更新。) svn與git的區(qū)別 svn是集中...
    勇者闖魔城閱讀 393評論 0 0
  • 1.新建一個“本地倉庫”$ git init 2.配置倉庫》告訴git你是誰git config user.nam...
    一個人的思考閱讀 257評論 0 0
  • Git的基本使用 關(guān)于Git官網(wǎng)提供的《pro git》應(yīng)該是最全面,最權(quán)威的使用手冊了。關(guān)于Git的具體概念,來...
    oO張木木Oo閱讀 470評論 0 0

友情鏈接更多精彩內(nèi)容