使用Git在本地Windows下佈置或實時更新服務器linux上的項目

背景:昨天把自己的項目從Windows移植到服務器上,但有一些小細節要更改。在服務器上改又太慢,在本地改使用Xftp又得自己定位到改的地方,然後再覆蓋,同時可能會出現端口占用的情況。最終還是Git方便同時還順帶有很多其他的功能。

零、需要去Git官網註冊個賬號

https://github.com/

一、下載安裝

1.1在windows 下安裝git

https://git-scm.com/downloads

直接默認安裝下一步即可

1.2在linux 下安裝git

sudo yum install git
sudo atp-get install git

二、在Git創建庫

登錄賬號後,在右上角點擊Your repositories

在這裏插入圖片描述

左上角新建New

在這裏插入圖片描述

新建一個testGit庫

在這裏插入圖片描述
在這裏插入圖片描述

二、配置

2.1windows配置

1、安裝完成後打開Git Bash

在這裏插入圖片描述

2、使用Shell命令定位到你的項目的目錄下

在這裏插入圖片描述

3、初始化,將目錄變成Git可管理的目錄

在這裏插入圖片描述
它會在目錄下自動生成一個.git的隱藏文件
在這裏插入圖片描述

4、配置自己的Git賬號

git --global config user.email "剛纔註冊Git的郵箱"
git --global config user.name "剛纔註冊Git的用戶名"

5、連接遠程庫

git remote add origin [email protected]:用戶名/testGit.git

在這裏插入圖片描述

6、創建ssh-key

ssh-keygen(一直回車)

在這裏插入圖片描述
他會自動生成私有鑰(對公有鑰進行解碼用的,不要告訴任何人)和公有鑰,其中一行中的id_rsa.pub表示公有鑰,id_rsa表示私有鑰

7、將公有鑰添加到Github上,獲得權限

cat /c/user/shinelon/.ssh/id_rsa.pub

把內容複製下來(注意複製要完整),然後點擊github右上角的設置
在這裏插入圖片描述
點擊SSH開頭,點擊New。起個名字,將剛纔複製的公有鑰放進去。點擊Add SSH key
在這裏插入圖片描述

8、將項目下的所有文件提交到剛纔建立的私有庫testGit

add是添加 | commit是提交 | -m是提交說明 | pull 拉 | push是推送 | -u是將本地的master分支與遠程的master分支關聯起來(第一次需要用) | origin是遠程庫的默認名,可以換名 | mater是分支名稱

–allow-unrelated-histories 允許相關的兩個庫合併,將本地和遠程兩個項目合併(實際就是把剛創建的庫中的LICENSE文件pull到本地)

注:因爲新建庫裏沒東西才用這個命令。如果你在自己新建的分支上進行add和commit你會再次看到類似的fatal,類似 origin/master test1 如果你在test1分支下設置了允許合併後–allow-unrelated-histories,你的分支test1會直接繞過master再次和你的項目合併。
那如果不想允許兩個庫合併呢?
方法是先在github上創建庫然後clone到本地,配好公有鑰後同樣使用分支add commit等命令操作,相當於你把項目手動放進clone好的的本地庫,提交時在更新到遠程庫
git add .
git commit -m "這是一次測試"
git pull origin master --allow-unrelated-histories (如果打開了文件直接:q 退出)

在這裏插入圖片描述

出現這個的話就:使用管理員方式打開記事本,再使用記事本打開C:\Windows\System32\drivers\etc下的hosts文件,添加如下
13.250.177.223 github.com

git pull origin master --allow-unrelated-histories (再拉一次)

在這裏插入圖片描述
git push -u origin master
在這裏插入圖片描述

查看,本地和遠程庫已同步

在這裏插入圖片描述
在這裏插入圖片描述

2.2linux配置

假設這是你網站項目的位置:/var/www/testGit

1、生成ssh-key

直接在linux中輸入(和剛纔windows一樣一直enter)

ssh-keygen

2、將公有鑰添加到Github上,獲得權限

cat /root/.ssh/id_rsa.pub

複製公有鑰到Github的SSH管理

3、克隆你的剛纔在windows上傳的項目

cd /var/www

複製項目地址
在這裏插入圖片描述

git clone [email protected]:你的名字/testGit.git

在這裏插入圖片描述
chmod 777 /var/www/testGit

三、實時更新

1、在windows下創建和使用分支

創建

git branch test1

切換分支

git checkout test1

查看目前所在分支
在這裏插入圖片描述

2、本地提交新修改的文件到github,例如我在Windows下改了code

建議不要使用記事本編輯,因爲可能會出現編碼錯誤!我使用的是sublime test3
在這裏插入圖片描述

這時test1分支的測試.txt內容如下

在這裏插入圖片描述

git checkout master

這時master分支的測試.test內容如下

在這裏插入圖片描述
所以更改完後,需要講結果合併到master再提交到github纔有效

git merge test1  (合併分支,將更改結果合併到master)

再看測試.txt
在這裏插入圖片描述

現在可以將更改的內容提交到github了

git add .
git commit -m "實時更新測試(多人分支合作)"
git push origin master

在這裏插入圖片描述

github已更新

在這裏插入圖片描述

3、linux上pull取windows上更新的內容

更新前

在這裏插入圖片描述

git pull
更新後

在這裏插入圖片描述

(4、多人分支合作)

同樣的道理,在linux上也和windows一樣創建分支再合併分支,相當於兩個人在操作一個項目。

上面使用了分支其實是可以省略的,直接在master分支上更改再提交也可以。但使用新分支寫代碼的好處是,當你改錯了代碼或者進行了一些誤操作時,不會對你的master產生任何影響,因爲你並沒有merge。


知識分享:https://www.liaoxuefeng.com/wiki/896043488029600

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章