Git的使用

一、Git概述

1.定義

git是分布式版本控制系統(tǒng)

2.git與svn的比較

版本庫:版本庫(倉庫)可以簡單理解成一個(gè)目錄(文件夾)

1)svn是集中式版本控制系統(tǒng),版本庫放在中央服務(wù)上,工作的流程如下:

構(gòu)建前——從中央服務(wù)器拉取最新的版本庫

構(gòu)建中——在各自的電腦上構(gòu)建項(xiàng)目

構(gòu)建后——將自己的版本庫推送到中央服務(wù)器

2)git是分布式版本控制系統(tǒng),沒有中央服務(wù)器,工作流程如下:

構(gòu)建前——拉取別人的最新對(duì)版本庫的修改

構(gòu)建中——在各自的電腦上構(gòu)建項(xiàng)目

構(gòu)建后——將自己的修改推送給別人

3)git和svn的區(qū)別

svn需要聯(lián)網(wǎng),git不需要聯(lián)網(wǎng),svn有中央服務(wù)器,git每個(gè)人的電腦都相當(dāng)于中央服務(wù)器

2.Git的使用

1)詳細(xì)教程請(qǐng)移步到 ? ?轉(zhuǎn)自廖雪峰的一篇文檔,很好很強(qiáng)大

2)安裝步驟

1.msysgit安裝(windows版的Git)

2.安裝完成后,在開始菜單中找到“Git”->"Git Bash"

在命令行中輸入一下命令 完成配置

$ git config --global user.name "Your Name"

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

3) 創(chuàng)建版本庫

1.常用命令

$ git init ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 初始化Git倉庫

$ git add <file> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?添加文件,可重復(fù)多次操作

$ git commit -m '<說明文字>' ? ? ? ? ? ? 提交,完成

$ git status ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看Git倉庫的狀態(tài)

$ git diff ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看修改的內(nèi)容

$ git log ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?提交歷史 ?后面可以加上 --pretty==oneline 簡化git顯示

$ git reset --hard HEAD^ ? ? ? ? ? ? ? ? ? ?回滾上一個(gè)版本

$ git reset --hard HEAD^^ ? ? ? ? ? ? ? ? ?回滾上上一個(gè)版本

$ git reset --hard HEAD~100 ? ? ? ? ? ? ?回滾往上100個(gè)版本

$ git reset --hard ?<commit Id(就是那長串的字符串)> 回滾到指定版本,可用于找回回滾之前的版本 版本號(hào)沒有必要寫全

$ git reflog ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?命令歷史,可用查找你建立所有倉庫版(包括刪除 回滾)的版本號(hào)

$ clear? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 清空 Git Bash上 歷史記錄

$ git check --readme.txt ? ? ? ? ? ? ? ? ? ?讓文件回到最近一次 git commit 或 git add時(shí)的狀態(tài)

$ git rm <file> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除文件

$ rm <file> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 刪除文件

4)工作區(qū)和暫存區(qū)

每次修改 如果不 git add 加入到緩存區(qū) 那么git commit?

5)遠(yuǎn)程倉庫

1.步驟

1)創(chuàng)建 SSH Key

跳轉(zhuǎn)到用戶主目錄下,例如 c盤

<1>查看是否已經(jīng)有了ssh秘鑰

$ cd ~/.ssh

<2>生成秘鑰

$ ssh-keygen -t rsa -c "example@emial.com"


<3>最后得到兩個(gè)文件?

id_rsa ? ? ? ? ? ? ? ? ? 私鑰(不能泄露)

id_rsa.pub ? ? ? ? ? 公鑰(可以告訴任何人)

2)登陸GitHub, 在 setting中找到 SSH 相關(guān)的選項(xiàng)中(具體的要看Github網(wǎng)站的更新情況,)?

,add SSh key,Title隨意,Key文本框中填寫上 id_rsa.pub文件里的內(nèi)容,如下圖


新建SSH Key


3)添加遠(yuǎn)程庫

<1> 登陸GitHub, 找到 new repository(創(chuàng)建存儲(chǔ)庫),如下圖


創(chuàng)建存儲(chǔ)庫

如果進(jìn)展順利的話,應(yīng)該會(huì)出現(xiàn)

成功創(chuàng)建空的Git庫

<2>本地Git庫關(guān)聯(lián)遠(yuǎn)程庫相關(guān)聯(lián)

$ git remote add origin git@github.com:CreateEngine/learngit.git

<3>然后,以后只要本地做了提交,就可以把本地master分支的最新修改推送至 GitHub,命令如下

$ git push origin master

<4> 遠(yuǎn)程庫 關(guān)聯(lián)本地Git庫

$ git clone git@github.com:CreateEngine/learngit.git

4)分支管理

<1> 概述

類似于平行宇宙,多人協(xié)作,分別不同的分支上開發(fā),想提交就提交,直到開發(fā)完畢后,再一次性合并到原來的分支上,這樣,既安全又不影響別人工作。

<2>創(chuàng)建與合并分支

$ git branch dev ? ? ? ? ? ? ? ? ? ? ? 創(chuàng)建dev分支

$ git checkout dev ? ? ? ? ? ? ? ? ? ?切換到dev分支

$ git checkout -b dev ? ? ? ? ? ? ? ?創(chuàng)建dev分支并切換到dev分支

$ git branch ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看當(dāng)前分支

$ git merge shifeng ? ? ? ? ? ? ? ? ? 將 shifeng分支合并到當(dāng)前分支上?

$ git branch -d shifeng ? ? ? ? ? ? ?刪除shifeng分支

<3> 解決沖突

先解決沖突文件,然后 git add git commit即可

$ git log --graph ? ? ? 查看分支合并圖

$ git log --graph?--pretty=oneline --abbrev-commit

<3>分支管理策略

$ git merge --no-ff -m "merge with no-ff" dev ? ? ?使用 --no-ff參數(shù),表示禁用 Fast forward

<4> Bug 分支

$ git stash ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?把當(dāng)前工作現(xiàn)場“儲(chǔ)藏”起來

$ git stash list ? ? ? ? ? ? ? ? ? ? ? ?查看儲(chǔ)藏的工作區(qū)

$ git stash apply ? ? ? ? ? ? ? ? ? ?恢復(fù)儲(chǔ)藏區(qū),恢復(fù)后,stash內(nèi)容不刪除

$ git stash drop ? ? ? ? ? ? ? ? ? ? ?刪除恢復(fù)后的stash內(nèi)容

$ git stash pop ? ? ? ?? ? ? ? ? ? ? ? 恢復(fù)的同時(shí)把stash內(nèi)容也刪除?

$ git stash apply stash@{0} ?恢復(fù)指定的stash(先使用 git stash list 命令查看 stash 列表)

<5>Feature 分支

$ git branch -d feature-vulcan ? ? ?刪除分支

<6> 多人協(xié)作

$ git remote ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看遠(yuǎn)程庫的信息

$ git remote -v ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?顯示更詳細(xì)點(diǎn)的信息



<7> 常見問題

1) 本地庫添加遠(yuǎn)程庫

$ git push -u origin master (第一個(gè)推送 -u 關(guān)聯(lián)本地庫和遠(yuǎn)程庫)


如果出現(xiàn) 類似如下的錯(cuò)誤提示

To git@git.coding.net:creatEngine/react-sf.git

! [rejected]? ? ? ? master -> master (non-fast-forward)

error: failed to push some refs to 'git@git.coding.net:creatEngine/react-sf.git'

hint: Updates were rejected because the tip of your current branch is behind

hint: its remote counterpart. Integrate the remote changes (e.g.

hint: 'git pull ...') before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

可能是以為遠(yuǎn)程庫有東西沒有拉取到本地(如果 readme.txt文件)使用如下命令進(jìn)行代碼合并

$ git pull --rebase origin master

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

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

  • Git和Github學(xué)習(xí) 1.創(chuàng)建版本庫 安裝git,至于這個(gè)話題就不細(xì)說了,按照你電腦的操作系統(tǒng)下載一個(gè)合適的g...
    郭子web閱讀 430評(píng)論 0 0
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,813評(píng)論 4 54
  • 一、Git是什么呢? Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)。那什么是版本控制系統(tǒng)?簡單的點(diǎn)就是控制每次修改...
    奔跑的時(shí)間閱讀 717評(píng)論 0 2
  • Git的使用 首先登錄https://git.oschina.net,如沒有賬號(hào)進(jìn)行注冊. Git簡單介紹 Git...
    Sunney閱讀 748評(píng)論 0 2
  • 首先確定電腦安裝了git 輸入git 會(huì)產(chǎn)生提示: 如果沒有安裝,那么就網(wǎng)上搜索下載完成安裝. 可以使用命令行安裝...
    彗星來的那一夜閱讀 924評(píng)論 0 0

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