Git(分布式版本控制)

2021-10-07 09:46:48 字數 3740 閱讀 7261

git(分布式版本控制)

git伺服器端

[root@web1 ~]# yum install -y git              ==>>安裝git

[root@web1 ~]# mkdir /var/git

[root@web1 ~]# git init /var/git/project --bare   ==>>建立乙個空的git倉庫

初始化空的 git 版本庫於 /var/git/project/

[root@web1 ~]# ls /var/git/project/

branches  config  description  head  hooks  info  objects  refs

[root@web1 ~]# 

git客戶端

git指令表,轉殖完倉庫之後要在倉庫目錄下執行git的相關指令

clone:將遠端伺服器的倉庫轉殖到本地

config:修改git配置

add:新增修改到暫存區 

commit:提交修改到本地倉庫

push:提交修改到遠端伺服器

1.git安裝部署

[root@web2 ~]# yum install -y git

[root@web2 ~]# git clone [email protected]:/var/git/project   ==>>轉殖倉庫到本地

[root@web2 ~]# cd project/

[root@web2 project]# git config --global user.email "[email protected]"  ==>>修改git配置,宣告自己的資訊,第一次操作需執行

[root@web2 project]# git config --global user.name "your nas"

[root@web2 project]# git status   ==>>檢視倉庫的資料動態

[root@web2 project]# git add .   ==>>將工作區的修改提交到暫存區

[root@web2 project]# git commit -m "注釋"   ==>>將暫存區的修改提交到本地倉庫

[root@web2 project]# git config --global push.default ******   ==>>第一次上傳伺服器需要執行

[root@web2 project]# git push ==>>將本地倉庫上傳到伺服器

[root@web2 project]# git pull   ==>>將伺服器的更新部分同步到本地

[root@web2 project]# git log    ==>>檢視修改日誌

[root@web2 project]# git log --pretty=oneline  ==>>檢視修改了幾個版本

[root@web2 project]# git log --oneline      

[root@web2 project]# git reflog

------------------------------------------

windows可以安裝git和otrtoisegit使用

------------------------------------------

[root@web2 project]# git reflog

[root@web2 project]# git log --oneline

65fd173  789 c

f50595e  456 c

d8ccca2  123 c

d11b274 add nfss sssssss

cd5a274 add nfss

9492653 add new.txt

a28e27c zhuhis

[root@web2 project]# git reset --hard f505   ==>>回到f50595e  456 c這個修改位置

2.git 分支

常見的分支規範如下:

master分支(master是主分支,是**的核心)

develop分支(develop最新開發成果的分支)

release分支(為發布新產品設定的分支)

hotfix分支(為了修復軟體bug缺陷的分支)

fesature分支(為開發新功能設定的分支)

[root@web2 project]# git branch 分支名     ==>>建立分支

[root@web2 project]# git branch -v      ==>>檢視分支

[root@web2 project]# git checkout 分支名   ==>>切換分支

[root@web2 project]# git checkout master    ==>>合併到主分支之前,切換到主分支

[root@web2 project]# git merge 分支名        ==>>合併到主分支

git伺服器

基於ssh協議伺服器

基於git協議伺服器

基於http協議伺服器

1.基於ssh協議伺服器

伺服器安裝git

[root@web1 ~]# yum install -y git              ==>>安裝git

[root@web1 ~]# mkdir /var/git

[root@web1 ~]# git init /var/git/project --bare   ==>>建立乙個空的git倉庫

客戶端可以實現ssh免密登入

[root@web2 project]# ssh-keygen -f /root/.ssh/id_rsa -n ''    ==>>建立金鑰

[root@web2 project]# ssh-copy-id 192.168.2.100                ==>>將金鑰分發

2.基於git協議伺服器

伺服器端

[root@web1 ~]# yum install -y git-daemon

[root@web1 ~]# git init --bare /var/git/base_git  ==>>建立版本庫

[root@web1 ~]# vim /usr/lib/systemd/system/[email protected]    ==>>修改路徑

execstart=-/usr/libexec/git-core/git-daemon --base-path=/var/git --export-all --user-path=public_git --syslog --inetd --verbose

[root@web1 ~]# systemctl start git.socket 

客戶端[root@web2 ~]# git clone git:

3.基於http協議伺服器

服務端[root@web1 ~]# yum -y install httpd gitweb

[root@web1 ~]# vim +11 /etc/gitweb.conf     ==>>在11行新增內容

$projectroot="/var/git";

[root@web1 ~]# git init --bare /var/git/base_http   ==>>建立版本庫

初始化空的 git 版本庫於 /var/git/base_http/

客戶端圖形化介面訪問

[root@web2 ~]# firefox

GIT分布式版本控制

git config global user.name your name git config global user.email email example.com git init初始化建立版本庫 git clone url從網路上轉殖repository,注意clone是複製了history...

分布式版本控制 Git(二)

分支在實際中有什麼用呢?假設你準備開發乙個新功能,但是需要兩周才能完成,第一周你寫了50 的 如果立刻提交,由於 還沒寫完,不完整的 庫會導致別人不能幹活了。如果等 全部寫完再一次提交,又存在丟失每天進度的巨大風險。現在有了分支,就不用怕了。你建立了乙個屬於你自己的分支,別人看不到,還繼續在原來的分...

Git分布式版本控制學習

git和svn都是版本控制系統。git是命令列操作,不喜歡的就算了,看完如果有身體不適還請及時就醫 git基本常用命令如下 mkdir xx 建立乙個空目錄 xx指目錄名 pwd 顯示當前目錄的路徑。git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git檔案。git add xx ...