Ⅰ 為什麼需要git server
為了存儲和中轉代碼
Ⅱ 請問什麼是Git
Git是現在主流的一種代碼託管技術。基本上大多數的公司都在使用Git進行協同開發。很多代碼託管平台也是通過Git來實現的。
Git可以對代碼進行版本控制以及分支管理等。它裡面主要包含遠程倉庫,克隆,本地倉庫,分支,提交,拉取等概念。其中遠程倉庫是指我們代碼存儲在伺服器的地方,並且是我們整個團隊中所有人都可以訪問的地方。
克隆則是指從遠程倉庫克隆到本地的過程。本地倉庫指的是我們開發人員從遠程倉庫克隆一份代碼之後,保存在我們本地的代碼,但是這個代碼只有克隆的代碼的開發人員可以看到。
分支分為主分支(master分支)和開發分支(develop分支),但我們開發的時候,基本不在master上面進行開發,而是我們自己從主分支或者開發分支中再分出來一條分支,然後我們就在這個分支上進行開發,裡面的每個分支都有自己的代碼。
提交是指在我們的代碼開發完成之後,需要將其修改並且說明修改的內容進行提交,但是此時的代碼只會提交到我們本地的倉庫,遠程倉庫此時還不會修改。
拉去的意思指在開發中,同一個項目可能是多人協作開發,那麼我們就需要將別人修改的代碼拉去並合並到自己的代碼中。
合並,顧名思義是指在我們自己的分支開發完成並且檢查沒有發現問題之後,就需要將我們的分支合並到主分支上面。
推送指由於之前的所有操作都是在我們本地進行的,遠程倉庫的代碼並沒有任何的改變,這就需要我們將本地的代碼推送到遠程的倉庫中,更新遠程倉庫代碼。
在開發中,我們可以合理地使用Git並且對它進行管理,當新版本遇到問題之後,我們就可能需要使用舊版本的代碼並將代碼進行回滾,以解決突發問題。
(2)什麼是git伺服器擴展閱讀
游戲編程的簡單介紹
游戲編程指利用計算機編程語言,如C編程語言、C++、java等,編寫計算機、手機或游戲機上的游戲。 目前流行的游戲編程語言為C++編程語言,游戲編程介面為DirectX9.0、OpenGL和SDL(Simple DirectMedia Layer)等。現在手機上玩的游戲分為Android與IOS兩種平台,分別是用java和object-c(或swift)。當然時下也流行一些跨平台的編程引擎,例如cocos2d-x、unity 3D等。
Ⅲ git伺服器端有幾種辦法
Git 可以使用四種主要的協議來傳輸數據:本地傳輸,SSH 協議,Git 協議和 HTTP 協議。
Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。
Git 是 Linus Torvalds 為了幫助管理 linux 內核開發而開發的一個開放源碼的版本控制軟體。
Git的主要功能:
1. 檢查電子郵件或其他方式來檢查提交狀態的平均開發人員。
2. 修補程序並解決沖突(您自己或要求開發人員稍後重新提交它,如果它是一個開源項目,請確定哪些修補程序可以工作,哪些不能)。
3.將結果提交到公共伺服器,然後通知所有開發人員。
(3)什麼是git伺服器擴展閱讀:
Git的優缺點:
優點:
1. 適合分布式開發,強調個人。
2. 公共伺服器壓力和數據量不是太大。
3.快速和靈活。
4.任何兩個開發人員之間的沖突都可以很容易地解決。
5. 離線工作。
缺點:
1. 數據很少(至少是中文)。
2. 學習周期相對較長。
3.不符合傳統思維。
4. 可憐的代碼的機密性。一旦開發人員克隆了整個庫,所有代碼和版本信息都可以完全公開。
Ⅳ windows搭建git伺服器 哪個好
安裝msysgit
安裝步驟此處略去。
END
安裝CopSSH
安裝步驟此處略去。
END
修改配置
修改CopSSH配置文件C:\Program Files\ICW\etc\sshd_config,確保如下行為非注釋行,且設置為「no」:
END
生成用戶帳號
在伺服器上生成Windows用戶,取消用戶下次登錄時須更改密碼,設置密碼永不過期:
將該用戶隸屬於GitUser組(如尚未生成改組,則先生成改組):
Ⅳ 什麼是「git」伺服器
1、git是一種分布式的版本管理系統,Linux的創造者Linus寫的。
2、GitHub是基於git的代碼庫託管站,也算是程序員的SMS(以碼會友),其中一個主要的開源代碼發布或託管站
3、git的作用就是對文件進行版本管理,方便在不同版本進行切換修改,類似文件分不同時間備份讓後需要時找回其中一份代替,不過更方便使用。
4、GitHub某種程度上就是代碼的網盤,也有開源開發商作為代碼發布、存放、徵集Bug和意見用。
5、git的特點:
1)就是雲的概念,代碼可以存在雲端git的網站上,就像我們在各種設備間都能瀏覽到自己存儲的網盤文件 一樣,我們在各個設備間都能訪問到自己的代碼。
2)它的社交屬性。因為代碼是開源的,每個人都可以瀏覽別人的項目並提出意見,而且它像微博一樣,你能粉別人,也能被別人粉。如果你是大牛,如果你或者你的項目夠有趣,你就會有很多粉絲,你的項目也會被更多的人star。
3)它能給團隊合作帶來很大幫助。現在有些公司就是用github來開發項目的。github允許多人多分支的工作,並且標示別人的修改和備注,最後還能合並。
Ⅵ 自己搭建的git伺服器怎麼使用
Git沒有客戶端伺服器端的概念,但是要共享Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共享,此文檔不討論),但是SSH有客戶端伺服器端,所以在windows下的開發要把自己的Git倉庫共享出去的話,就必 須做SSH伺服器。
一、安裝GIT
Windows下使用msysgit,
本文使用Git-1.7.8-preview20111206.exe 安裝要點步驟
安裝完成後,可以使用Git bash在命令行模式下操作git
二、安裝CopSSH
安裝CopSSH之前先確保防火牆開啟了SSH埠,這個雖然不影響CopSSH的安裝,但是影響SSH訪問,所以寫在前面。
CopSSH是windows下的SSH伺服器軟體,下載地址之,本文使用的是Copssh_4.1.0_Installer.exe,
安裝完成後,到控制面板中新建一個管理員賬戶root,用這個賬戶來共享SSH。然後你在賬戶管理中會看到之前的SvcCOPSSH賬戶。
將root用戶添加到CopSSH用戶中,為簡單操作,允許使用密碼認證方式
若是不允許密碼認證,則需要使用公鑰密鑰方式認證,
三、CopSSH中使用GIT
現在已經安裝GIT和CopSSH,接下來需要做的就是讓CopSSH可以使用GIT的命令,這樣不僅能夠遠程SSH管理GIT伺服器,而且可以將GIT倉庫通過SSH共享。具體的操作方法是將GIT的某些命令程序和動態鏈接庫復制到CopSSH安裝目錄下即可。
l 將$ Git\libexec\git-core目錄下的git.exe , git-receive-pack.exe , git-upload-archive.exe , git-upload-pack.exe復制到$ICW\bin目錄下
l 將$Git\bin目錄下的libiconv-2.dll復制到$ICW\bin目錄下
重啟CopSSH即可
Ⅶ 如何搭建linux git伺服器
首先我們分別在Git伺服器和客戶機中安裝Git服務程序(剛剛實驗安裝過就不用安裝了):
[root@linuxprobe ~]# yum install git
Loaded plugins: langpacks, proct-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Package git-1.8.3.1-4.el7.x86_64 already installed and latest version
Nothing to do
然後創建Git版本倉庫,一般規范的方式要以.git為後綴:
[root@linuxprobe ~]# mkdir linuxprobe.git
修改Git版本倉庫的所有者與所有組:
[root@linuxprobe ~]# chown -Rf git:git linuxprobe.git/
初始化Git版本倉庫:
[root@linuxprobe ~]# cd linuxprobe.git/
[root@linuxprobe linuxprobe.git]# git --bare init
Initialized empty Git repository in /root/linuxprobe.git/
其實此時你的Git伺服器就已經部署好了,但用戶還不能向你推送數據,也不能克隆你的Git版本倉庫,因為我們要在伺服器上開放至少一種支持Git的協議,比如HTTP/HTTPS/SSH等,現在用的最多的就是HTTPS和SSH,我們切換至Git客戶機來生成SSH密鑰:
[root@linuxprobe ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
65:4a:53:0d:4f:ee:49:4f:94:24:82:16:7a:dd:1f:28 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o+oo.o. |
| .oo *.+. |
| ..+ E * o |
| o = + = . |
| S o o |
| |
| |
| |
| |
+-----------------+
將客戶機的公鑰傳遞給Git伺服器:
[root@linuxprobe ~]# ssh--id 192.168.10.10
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added.
此時就已經可以從Git伺服器中克隆版本倉庫了(此時目錄內沒有文件是正常的):
[root@linuxprobe ~]# git clone [email protected]:/root/linuxprobe.git
Cloning into 'linuxprobe'...
warning: You appear to have cloned an empty repository.
[root@linuxprobe ~]# cd linuxprobe
[root@linuxprobe linuxprobe]#
初始化下Git工作環境:
[root@linuxprobe ~]# git config --global user.name "Liu Chuan"
[root@linuxprobe ~]# git config --global user.email "[email protected]"
[root@linuxprobe ~]# git config --global core.editor vim
向Git版本倉庫中提交一個新文件:
[root@linuxprobe linuxprobe]# echo "I successfully cloned the Git repository" > readme.txt
[root@linuxprobe linuxprobe]# git add readme.txt
[root@linuxprobe linuxprobe]# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached ..." to unstage)
#
# new file: readme.txt
#
[root@linuxprobe linuxprobe]# git commit -m "Clone the Git repository"
[master (root-commit) c3961c9] Clone the Git repository
Committer: root
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
[root@linuxprobe linuxprobe]# git status
# On branch master
nothing to commit, working directory clean
但是這次的操作還是只將文件提交到了本地的Git版本倉庫,並沒有推送到遠程Git伺服器,所以我們來定義下遠程的Git伺服器吧:
[root@linuxprobe linuxprobe]# git remote add server [email protected]:/root/linuxprobe.git
將文件提交到遠程Git伺服器吧:
[root@linuxprobe linuxprobe]# git push -u server master
Counting objects: 3, done.
Writing objects: 100% (3/3), 261 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:/root/linuxprobe.git
* [new branch] master -> master
Branch master set up to track remote branch master from server.
為了驗證真的是推送到了遠程的Git服務,你可以換個目錄再克隆一份版本倉庫(雖然在工作中毫無意義):
[root@linuxprobe linuxprobe]# cd ../Desktop
[root@linuxprobe Desktop]# git clone [email protected]:/root/linuxprobe.git
Cloning into 'linuxprobe'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
[root@linuxprobe Desktop]# cd linuxprobe/
[root@linuxprobe linuxprobe]# cat readme.txt
I successfully cloned the Git repository
這篇是詳細介紹Git的,中間有一部分是怎麼去搭建,你可以看下
Ⅷ Git是什麼
Git是什麼?
Git是目前世界上最先進的分布式版本控制系統(沒有之一)。
Git有什麼特點?簡單來說就是:高端大氣上檔次!
那什麼是版本控制系統?
如果你用Microsoft Word寫過長篇大論,那你一定有這樣的經歷:
想刪除一個段落,又怕將來想恢復找不回來怎麼辦?有辦法,先把當前文件「另存為……」一個新的Word文件,再接著改,改到一定程度,再「另存為……」一個新文件,這樣一直改下去,最後你的Word文檔變成了這樣:
過了一周,你想找回被刪除的文字,但是已經記不清刪除前保存在哪個文件里了,只好一個一個文件去找,真麻煩。
看著一堆亂七八糟的文件,想保留最新的一個,然後把其他的刪掉,又怕哪天會用上,還不敢刪,真郁悶。
更要命的是,有些部分需要你的財務同事幫助填寫,於是你把文件Copy到U盤里給她(也可能通過Email發送一份給她),然後,你繼續修改Word文件。一天後,同事再把Word文件傳給你,此時,你必須想想,發給她之後到你收到她的文件期間,你作了哪些改動,得把你的改動和她的部分合並,真困難。
於是你想,如果有一個軟體,不但能自動幫我記錄每次文件的改動,還可以讓同事協作編輯,這樣就不用自己管理一堆類似的文件了,也不需要把文件傳來傳去。如果想查看某次改動,只需要在軟體里瞄一眼就可以,豈不是很方便?
這個軟體用起來就應該像這個樣子,能記錄每次文件的改動:
版本
用戶
說明
日期
1 張三 刪除了軟體服務條款5 7/12 10:38
2 張三 增加了License人數限制 7/12 18:09
3 李四 財務部門調整了合同金額 7/13 9:51
4 張三 延長了免費升級周期 7/14 15:17
這樣,你就結束了手動管理多個「版本」的史前時代,進入到版本控制的20世紀。
Ⅸ 怎麼搭建git 伺服器
1、安裝OpenSSH並配置SSH無密碼登陸
通過命令 sudo apt-get install openssh-server,安裝SSH服務。
通過命令 ps –e|grep ssh,查看ssh服務是否啟動。
通過以上命令,我們為Ubantu系統安裝SSH服務,並配置SSH無密碼登陸,首先我們修改主機和ip配置文件:gedit /ect/hosts
2、創建用戶git,用來管理運行git服務。
3、配置無密碼SSH登陸
在gitClient_01上,我們使用命令:ssh-keygen –t rsa 生成密鑰
完成之後,在.ssh目錄下,我們可以看到id_rsa和id_rsa.pub文件,id_rsa.pub為公鑰,我們 通過命令scp /home/git/.ssh/id_rsa.pub gitServer:/home/git將gitClient_01上生成的公鑰拷貝到gitServer上。
在gitServer上我們首先查看/home/git/.ssh目錄下是否存在authorized_kesys文件,
如果沒有,可以通過touch authorized_keys創建此文件。
Authorized_keys創建完成後,將gitClient_01上拷貝過來的公鑰id_rsa.pub的內容追 加到authroized_keys中,注意是追加到此文件中,可以使用命令cat /home/git/id_rsa.pub>>/home/git/.ssh/authorized_keys.
以上內容完成後,我們在gitClient_01中,可以使用命令ssh gitServer即可完成無密碼登陸。
4、安裝Git
通過命令 sudo apt-get install git-core,安裝git
5、建立git倉庫的存儲目錄。
6、初始化伺服器端倉庫
使用命令 git –bare init /home/git/myRep.git,初始化化倉庫
7、在gitClient_01上,通過git clone命令進行克隆遠程倉庫,並在各自的電腦上運行開發。
Git clone git@gitServer:/home/git/myRep.git
通過以上的步驟就完成了git伺服器的搭建!
Ⅹ git 服務端 客戶端 有什麼區別
請在此輸入您的回答
Git是分布式的,並沒有服務端跟客戶端之分,所謂的服務端安裝的其實也是git。Git支持四種協議,file,ssh,git,http。ssh是使用較多的,下面使用ssh搭建一個免密碼登錄的服務端。
1、提前安裝git跟sshserver;
2、 創建一個用戶,用來運行git服務;
新建一個用戶,叫gituser,然後切換到gituser的默認目錄,創建一個叫.ssh的文件夾,並在其中創建一個叫authorized_keys的文件,這個文件將用於存儲git開發者的ssh公鑰。