国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

臺州企業(yè)網(wǎng)站搭建電話南寧seo怎么做優(yōu)化團隊

臺州企業(yè)網(wǎng)站搭建電話,南寧seo怎么做優(yōu)化團隊,做直播網(wǎng)站的上市公司,wordpress 手動縮略圖git筆記 git是一個分布式版本控制系統(tǒng),它的優(yōu)點有哪些呢?分為以下幾個部分 與集中式的版本控制系統(tǒng)比起來,不用擔心單點故障問題,只需要互相同步一下進度即可。支持離線編輯,每一個人都有一個完整的版本庫。跨平臺支持…

git筆記

git是一個分布式版本控制系統(tǒng),它的優(yōu)點有哪些呢?分為以下幾個部分

  1. 與集中式的版本控制系統(tǒng)比起來,不用擔心單點故障問題,只需要互相同步一下進度即可。
  2. 支持離線編輯,每一個人都有一個完整的版本庫。
  3. 跨平臺支持
  4. 性能高效

安裝和初始化配置

git的安裝方式有方式

  1. 帶GUI的git,帶有圖形化界面
  2. 命令行安裝

個人比較推薦命令行安裝的方式,我采用的是centos 7.x的系統(tǒng)

  • 添加 CentOS/RHEL 7 存儲庫
sudo yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
  • yum安裝git
sudo yum install git -y

初始化git

  1. 配置用戶名
git config --global user.email '你的郵箱'
  1. 配置郵箱
git config --global user.email '你的密碼'

創(chuàng)建倉庫

在git中,創(chuàng)建倉庫有兩種方式

  1. 使用git init
git init
  1. git init reop name
git init name
  1. 從gitee/github已有的倉庫,創(chuàng)建倉庫(使用clone的方式)
git clone git@gitee.com:tmeermer/hnys.git

工作區(qū)和文件狀態(tài)

提交流程.png

git有三個工作區(qū)域分為工作區(qū),暫存區(qū),本地倉庫?,F(xiàn)在來簡單解釋一下這三個區(qū)域

工作區(qū):當前的工作目錄,所有的操作都在這里進行

暫存區(qū):工作區(qū)完成工作后,將產(chǎn)生的文件推送到暫存區(qū),臨時保存這些文件??梢岳斫鉃橐粋€臨時的雜貨鋪

本地倉庫:這里存放最終的成品,也就是倉庫。

添加和提交文件

  1. 添加文件
git add filename

添加時后面需要添加文件名,也可使用通配符進行批量提交

git  add *.txt 

現(xiàn)在該命令就只會提交以txt為后綴的文件了,當然也可以使用.來提交當前文件夾下的所有文件

git add .
  1. 提交文件
git commit -m "這是第一次提交"
  • -m參數(shù)的含義是說明此次提交的主要信息,如果不加上m參數(shù),git會默認打開vim編輯器,來輸入提交的信息
  1. 查看提交狀態(tài)
git status;

查看提交狀態(tài).png

其中查看提交日志的命令是

git log 

也可以加上參數(shù)查看簡潔的提交日志

git log --oneline

提交日志.png

其中有郵箱和名稱,都是通過我們之前使用的config命令來配置的。

git reset 回退版本

在日常開發(fā)的時候,我們通常都有進行版本回退的需求。就可以使用reset這個命令以下是它的每個參數(shù)含義

gitrerset.png

soft參數(shù)的含義是:回退到某一次的提交位置,但是工作區(qū)和暫存區(qū)的內(nèi)容是保存的

·hard·參數(shù)的含義是:回到某一次的提交位置,但是工作區(qū)和暫存區(qū)的內(nèi)容全部丟棄

mixed參數(shù)介于sort和hard中間,工作區(qū)的內(nèi)容保留但是暫存區(qū)的內(nèi)容刪除

soft測試

現(xiàn)在來測試soft參數(shù)的命令產(chǎn)生的作用

echo "file1" > file1.txt
echo "file2" > file2.txt
echo "file3" > file3.txt

三個文件.png

現(xiàn)在創(chuàng)建了三個txt的文件并且使用了以下命令進行提交,分為三次

git add file1.txt
git commit -m "第一次提交"
git add file2.txt
git commit -m "第二次提交"
git add file3.txt
git commit -m "第三次提交"

查看提交結(jié)果

三次提交.png

現(xiàn)在是已經(jīng)有三次提交了,現(xiàn)在回退到第二次提交 7b6b999

git reset --soft 7b6b999

回退第二次.png

可以發(fā)現(xiàn)真的回退到了第二次提交這個位置,而且暫存區(qū)和工作區(qū)的文件都沒有被丟棄

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

在提交的過程中出現(xiàn)了nothing to commit, working tree clean問題,原因是:

暫存區(qū)沒東西獲或者東西都提交到版本庫中的當前分支,且工作區(qū)

中的文件都被git跟蹤了(都git add .

解決方案:修改需要提交的文件中的任何一處(空格都行),然后重新add,commit。

hard測試

現(xiàn)在來測試hard參數(shù)會產(chǎn)生什么樣的效果,分為了三個文件夾進行測試

echo "file1" > file1.txt
echo "file2" > file2.txt
echo "file3" > file3.txt

先創(chuàng)建三個txt文件,都進行依次提交

git add file1.txt 
git commit -m "這是第一次提交"
git add file2.txt 
git commit -m "這是第二次提交"
git add file3.txt 
git commit -m "這是第三次提交"

hard三次提交.png

進行回退操作,回退至d7a1e8a

hard測試.png

測試發(fā)現(xiàn),暫存區(qū)和工作區(qū)的文件的file3.txt都被丟棄了。

hard參數(shù)的話,需要慎用!

mixed測試

現(xiàn)在來測試mixed參數(shù),還是添加三個txt文件

echo "file1" > file1.txt
echo "file2" > file2.txt
echo "file3" > file3.txt

依次進行提交

git add file1.txt 
git commit -m "這是第一次提交"
git add file2.txt 
git commit -m "這是第二次提交"
git add file3.txt 
git commit -m "這是第三次提交"

進行回退操作,回退至第二次提交:d02077e

git reset --mixed d02077e

查看暫存區(qū)和目錄下的文件狀態(tài)

mixed測試.png

可以發(fā)現(xiàn)工作區(qū)的文件還在,但是暫存區(qū)的不存在了,此時HEAD指針指向了第二次提交的位置。

git diff 查看差異

當需要查看工作區(qū)和暫存區(qū)的內(nèi)容是否有差異時,需要使用以下命令查看差異

git diff

git diff.png

需要查看之前任意的幾個版本的差異

git diff HEAD~X HEAD

也可直接使用來查看最后一個版本之前的差異

git diff HEAD
git diff HEAD~ HEAD

還可以在后面加上文件名,只查看該文件的差異

git diff HEAD~1 HEAD file2.txt

每次提交都有一個哈希值,也可以使用這個值來判斷這兩次提交之間的差異

git diff d7a1e8a 9a857be

差異.png

使用git rm 刪除文件

在使用git時,想刪除本地工作區(qū)和暫存區(qū)的文件時,如果使用Linux的系統(tǒng)命令的話會比較麻煩

rm file1.txt

rm刪除.png

刪除完查看狀態(tài),可以發(fā)現(xiàn)在工作區(qū)的文件已顯示被刪除了,還需要使用以下命令來更新,這里的提交是要告訴暫存區(qū),在下一次提交的時候file1.txt已經(jīng)被刪除了!

git add .
git commit -m "delete file1.txt"

rm刪除后更新.png

但是git給我們提供了 git rm 命令,可以讓操作變得更簡單

git rm file

測試一下、

git rm file2.txt

girm刪除.png

這次可以發(fā)現(xiàn),暫存區(qū)和工作區(qū)都同步被刪除了,這就是 git rm命令的作用。

gitrm總結(jié).png

.gitgnore忽略文件

這個文件的作用是,讓我們忽略掉一些不應(yīng)該加入到版本庫中的文件,這樣可以讓我們的版本庫變得更加干凈和更小

忽略文件.png

這是我們需要忽略的文件,以免帶來不必要的風險

現(xiàn)在向我們的本地倉庫中添加.gitignore文件

echo "acess.log" > .gitignore
vim .gitignore
// 添加如下內(nèi)容
access.log
*.log

添加到暫存區(qū)

git add .

提交到本地倉庫

git commit -am "full submit"

查看效果

忽略文件測試.png

可以發(fā)現(xiàn)我們創(chuàng)建的日志文件并沒有被提交到緩存區(qū)。

如果打算要忽略全部的日志文件,可以參考以下寫法

*.log
# 忽略temp目錄下的文件
temp/

關(guān)聯(lián)本地倉庫和遠程倉庫

之前演示的都是本地倉庫進行的提交和各種測試,但是在實際的生產(chǎn)環(huán)境中往往都是需要連接到遠程倉庫進行提交和各種其他操作。但是先決條件是配置好了ssh密鑰,平臺可以選擇github/gitee。其中g(shù)itee相當于國內(nèi)的gihub,速度較快。

  • 登錄gitee設(shè)置ssh公鑰(已省略,具體步驟可自行查閱)

網(wǎng)址:gitee

  • clone遠程倉庫到本地,并且同步提交到遠程的master分支
git remote -v 查看有沒有遠程倉庫
git init .
git clone git@gitee.com:tmeermer/c-language-practice-code.git
//注:項目地址形式為:https://gitee.com/xxx/xxx.git或者 git@gitee.com:xxx/xxx.git
git add .
git commit -m "commit"
git push origin master 
將本地的master分支推送到遠程的master分支,如果不存在則會覆蓋

提交到遠程.png

分支管理

git中的分支可以看作一棵樹上的枝干,最粗壯的是主分支,其他分支都是從分支。git中的主分支叫做master,通常主分支都是用來發(fā)布重大更新的,其他開發(fā)和測試的過程都是在開發(fā)分支上完成的。測試通過后才會合并進主分支。

  1. git如何查看當前分支?
git branch
  1. git如何創(chuàng)建分支?
git checkout dev
git status
  1. git中如何切換分支?
git checkout branch--name
  1. git中如何合并分支?
git memger branch--name
  1. git中如何刪除無用的分支?
git branch -d branch--name

git解決合并沖突

現(xiàn)在來模擬兩個兩個分支修改了同一處的情況,這樣會導(dǎo)致git發(fā)生合并沖突,從而合并失敗

沖突模擬.png

在以上操作中,我們在兩個分支中提交了一樣的內(nèi)容,導(dǎo)致了沖突。

git init myproject# 創(chuàng)建master分支
git checkout -b master# 向文件內(nèi)寫入內(nèi)容
echo "This is a line added in feature-branch." > example.txtvim example.txt
```
"This is a line added in feature-branch."
測試
```
git add .
git commit -m "feat commit "# 創(chuàng)建feat-branch 分支
git checkout -b feat-branchvim example.txt
```
"This is a line added in feature-branch."
測試
```
git add .
git commit -m "feat commit "git checkout mastergit merge master# 合并分支失敗
git status 

git沖突.png

現(xiàn)在解決沖突需要修改

切換到master分支git checkout master
vim example.txt找到?jīng)_突的行修改的行進行修改git add .
git commit -m "commit this a master"切換到feat分支
git checkout feat-branch 
修改沖突的位置
git add .
git commit -m "commit this a feat-branch"最后合并沖突
git merge master

解決沖突.png

以上就是如何解決git分支沖突的方法。

回退和rebase

分支的合并可以使用git merge 命令來進行合并,并且還會保存所有的提交記錄。git 還有另一種合并分支的方式就是使用rebase

git rebase feat-branch

rebase的翻譯叫做變基,在git中我們可以這么理解

首先rebase只能在主分支上提交嗎?其實不是的

它可以在任意分支上執(zhí)行,如果是在main分支上執(zhí)行

git rebase dev

則main上的提交記錄會變基到dev分支的末尾

如果是在dev分支上提交

git rebase main

dev的兩條提交記錄都會變基到Main分支上。只是順序不同罷了

gitrabase.png

http://m.aloenet.com.cn/news/1420.html

相關(guān)文章:

  • 阜新住房建設(shè)委員會網(wǎng)站湖南企業(yè)seo優(yōu)化
  • 化妝品產(chǎn)品的自建網(wǎng)站喲哪些申請自己的網(wǎng)站
  • 網(wǎng)站建設(shè)尾款營銷咨詢公司排名前十
  • 哪些網(wǎng)站是做食品nba交易最新消息
  • 山東鑫泰建設(shè)集團網(wǎng)站微信營銷推廣公司
  • 買了個域名怎么做網(wǎng)站網(wǎng)絡(luò)輿情分析師
  • 英文網(wǎng)站建設(shè)小程序開發(fā)
  • 360seo排名點擊軟件逆冬seo
  • 微信平臺公眾號開發(fā)廊坊網(wǎng)站seo
  • 威遠移動網(wǎng)站建設(shè)黃石seo診斷
  • 賀州網(wǎng)站制作吸引顧客的營銷策略
  • 一條龍網(wǎng)站建設(shè)哪家好游戲推廣員是做什么的
  • 六安建設(shè)廳網(wǎng)站青島網(wǎng)站seo診斷
  • 住建局證件查詢系統(tǒng)怎么做關(guān)鍵詞優(yōu)化排名
  • 網(wǎng)站用gbk還是utf8惡意點擊軟件哪個好
  • 在putty做網(wǎng)站要拷貝什么seo點擊優(yōu)化
  • photoshop做圖網(wǎng)站常德seo
  • 自己做網(wǎng)站收費么成都網(wǎng)站設(shè)計公司
  • 成都哪家公司做網(wǎng)站最好建立一個網(wǎng)站的費用
  • 建網(wǎng)站注冊培訓(xùn)心得體會2000字
  • 網(wǎng)站建設(shè)的經(jīng)濟可行性怎樣做網(wǎng)站賣自己的產(chǎn)品
  • 網(wǎng)站備案信息真實性核驗網(wǎng)頁版百度云
  • 黃渡網(wǎng)站建設(shè)百度網(wǎng)盤網(wǎng)頁版登錄
  • 電子商務(wù)網(wǎng)站建設(shè)選擇服務(wù)器要考慮的因素有 seo won
  • 鄒城手機網(wǎng)站建設(shè)網(wǎng)絡(luò)營銷軟件條件
  • dw做單頁網(wǎng)站教程seo排名點擊軟件運營
  • 蘇州做網(wǎng)站的公司哪家好衡陽百度推廣
  • 企業(yè)開展網(wǎng)站建設(shè)廣告聯(lián)盟有哪些
  • ps如何做ppt模板下載網(wǎng)站谷歌三件套
  • 這是我自己做的網(wǎng)站嗎現(xiàn)在推廣平臺哪家最好