導航:首頁 > IDC知識 > git代碼伺服器

git代碼伺服器

發布時間:2021-03-10 03:02:03

1、什麼是git伺服器

Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。 

Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。

Git的主要功能:

1、查看郵件或者通過其它方式查看一般開發者的提交狀態。

2、打上補丁,解決沖突(可以自己解決,也可以要求開發者之間解決以後再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。

3、向公共伺服器提交結果,然後通知所有開發人員。



(1)git代碼伺服器擴展資料:

Git的優缺點:

優點:

1、適合分布式開發,強調個體。

2、公共伺服器壓力和數據量都不會太大。

3、速度快、靈活。

4、任意兩個開發者之間可以很容易的解決沖突。

5、離線工作。

缺點:

1、資料少(起碼中文資料很少)。

2、學習周期相對而言比較長。

3、不符合常規思維。

4、代碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息。

2、git怎麼clone伺服器上的代碼

1
准備,下載git到你的電腦上,下載地址:
安裝,直接下一步下一步就好,記得下載位置就好,配置的時候要用
2
在studio中設置git插件:File->Setting->Version Control->Git,添加您剛剛安裝的git地址目錄,例如: C:\Program Files\Git\bin\git.exe ,
然後可以點擊Test測試一下,如下圖:那麼你就設置成功了。

3
初始化git項目(git init),操作如下:VCS->Enable Control Integration->Select "Git".
4
為git添加remote,在這一步中,studio沒有為我們提供可視化的GUI,得用Git工具了。找到並打開git安裝目錄下面的Git Bash,將目錄切換到項目的目錄,然後輸入git添加remote的命令,例如:git remote add origin "".

5
將代碼添加到VCS(git add),選中要提交的文件->VCS->Git->Add,

6
提交變化(git commit),VCS->Commit Changes, 在提交的時候可以選擇Commit and Push,就可以直接push到伺服器。

7
Git Push,VCS->Git->Push.
最後,如果要是clone project到studio

3、什麼是git伺服器?

Git是目前世界上最先進的分布式版本控制系統(沒有之一)。
Git有什麼特點?簡單來說就是:高端大氣上檔次!
那什麼是版本控制系統?
如果你用Microsoft 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伺服器
搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git

第二步,創建一個git用戶,用來運行git服務:
$ sudo adser gi

第三步,創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git

Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git

第五步,禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bas

改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
第六步,克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就簡單了。
管理公鑰
如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。
這里我們不介紹怎麼玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。
管理許可權
有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統里設置一套完善的許可權控制,每個人是否有讀寫許可權會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼託管而開發的,所以Git也繼承了開源社區的精神,不支持許可權控制。不過,因為Git支持鉤子(hook),所以,可以在伺服器端編寫一系列腳本來控制提交等操作,達到許可權控制的目的。Gitolite就是這個工具。
這里我們也不介紹Gitolite了,不要把有限的生命浪費到許可權斗爭中。

4、如何將代碼上傳到git伺服器上

1、本地公鑰的獲取,

cd ~/.ssh

ls   

使用指令ssh-keygen,生產公鑰,第一個提示時輸入文件(默認是id_rsa),第二個提示時輸入的是密鑰,

公鑰放置在id_rsa.pub文件中。

2、按照code的提示,進行代碼上傳。

2.1  建立一個git文件件,比如git_csdn ,

2.2  git init,建倉操作,

2.3  可以新建一個readme.md, touch README.md

2.4 git add.添加所有文件,git add file,添加file,比如git add README

2.5 git commit -m "first commit"

2.6 git remote add origin git @ url 地址

2.7 git push -u origin master

3、git clone 地址

4、git remote 不帶參數,列出已經存在的遠程分支

$ git remote

origin

5、配置:

$ git config --global user.name "John Doe"

$ git config --global user.email [email protected]

出現的問題:Updates were rejected because the tip of your current branch is behind

有如下幾種解決方法:
1.使用強制push的方法:
$ git push -u origin master -f
這樣會使遠程修改丟失,一般是不可取的,尤其是多人協作開發的時候。
2.push前先將遠程repository修改pull下來
$ git pull origin master
$ git push -u origin master
3.若不想merge遠程和本地修改,可以先創建新的分支:
$ git branch [name]
然後push
$ git push -u origin [name]

分支管理:

1、創建分支: git branch  new_branch

2、查看分支:git branch

3、刪除分支:git branch  -d new_branch

4、切換分支:git checkout  new_branch

5、創建分支並切換分支: git checkout  -b new_branch即可在本地新建分支,並使用該分支track遠程分支

6、提交並推送分支:

git  add .

git  commit -m "xxx"

git  push -u origin new_branch

7、刪除遠程分支:git  push origin --delete new_branch

8、合並分支: git merge  new_branch

9、將本地更新上傳到遠程分支上:

例如本地新建或是更新了內容newfile.c文件, 

首先git add newfile.c,

然後git commit -m "add new file",

緊接著git push 本地分支名 遠程分支名即可將本地分支更新到遠程分支。

10.獲取遠程分支

git fetch 從遠程獲取其他用戶push上來的新分支

git remote -v  即可查看遠程所有的版本信息

5、搭建git伺服器需要什麼樣的配置

搭建Git伺服器需要准備一台運行Linux的機器,強烈推薦用Ubuntu或Debian,這樣,通過幾條簡單的apt命令就可以完成安裝。
假設你已經有sudo許可權的用戶賬號,下面,正式開始安裝。
第一步,安裝git:
$ sudo apt-get install git

第二步,創建一個git用戶,用來運行git服務:
$ sudo adser git

第三步,創建證書登錄:
收集所有需要登錄的用戶的公鑰,就是他們自己的id_rsa.pub文件,把所有公鑰導入到/home/git/.ssh/authorized_keys文件里,一行一個。
第四步,初始化Git倉庫:
先選定一個目錄作為Git倉庫,假定是/srv/sample.git,在/srv目錄下輸入命令:
$ sudo git init --bare sample.git

Git就會創建一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的Git倉庫純粹是為了共享,所以不讓用戶直接登錄到伺服器上去改工作區,並且伺服器上的Git倉庫通常都以.git結尾。然後,把owner改為git:
$ sudo chown -R git:git sample.git

第五步,禁用shell登錄:
出於安全考慮,第二步創建的git用戶不允許登錄shell,這可以通過編輯/etc/passwd文件完成。找到類似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash

改為:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

這樣,git用戶可以正常通過ssh使用git,但無法登錄shell,因為我們為git用戶指定的git-shell每次一登錄就自動退出。
第六步,克隆遠程倉庫:
現在,可以通過git clone命令克隆遠程倉庫了,在各自的電腦上運行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.

剩下的推送就簡單了。

管理公鑰
如果團隊很小,把每個人的公鑰收集起來放到伺服器的/home/git/.ssh/authorized_keys文件里就是可行的。如果團隊有幾百號人,就沒法這么玩了,這時,可以用Gitosis來管理公鑰。
這里我們不介紹怎麼玩Gitosis了,幾百號人的團隊基本都在500強了,相信找個高水平的Linux管理員問題不大。

管理許可權
有很多不但視源代碼如生命,而且視員工為竊賊的公司,會在版本控制系統里設置一套完善的許可權控制,每個人是否有讀寫許可權會精確到每個分支甚至每個目錄下。因為Git是為Linux源代碼託管而開發的,所以Git也繼承了開源社區的精神,不支持許可權控制。不過,因為Git支持鉤子(hook),所以,可以在伺服器端編寫一系列腳本來控制提交等操作,達到許可權控制的目的。Gitolite就是這個工具。

6、git怎麼將我的代碼強制切換成伺服器的代碼

還沒有想到辦法解決。

(先備份當前有修改過的文件)

最好,先返回指定版本
git reset old_commit_id

然後,新建分支
git branch -b rcommit_id

再,刪除線上的master分支(將默認分支切換到其它分支)
git push origin :master

然後,將之前備份的文件覆蓋當前分支內的文件。
最後,將分支名改為master,再提交即可,再設置為默認分支。

git branch -m rcommit_id master
git push origin master

7、git伺服器端有幾種辦法

Git 可以使用四種主要的協議來傳輸數據:本地傳輸,SSH 協議,Git 協議和 HTTP 協議。

Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的項目版本管理。

Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。

Git的主要功能:

1. 檢查電子郵件或其他方式來檢查提交狀態的平均開發人員。

2. 修補程序並解決沖突(您自己或要求開發人員稍後重新提交它,如果它是一個開源項目,請確定哪些修補程序可以工作,哪些不能)。

3.將結果提交到公共伺服器,然後通知所有開發人員。

(7)git代碼伺服器擴展資料:

Git的優缺點:

優點:

1. 適合分布式開發,強調個人。

2. 公共伺服器壓力和數據量不是太大。

3.快速和靈活。

4.任何兩個開發人員之間的沖突都可以很容易地解決。

5. 離線工作。

缺點:

1. 數據很少(至少是中文)。

2. 學習周期相對較長。

3.不符合傳統思維。

4. 可憐的代碼的機密性。一旦開發人員克隆了整個庫,所有代碼和版本信息都可以完全公開。

8、eclipse怎麼用git將代碼提交到伺服器

打開後,選中要提交的git項目。右鍵->"Team"->「Commit...」。

打開Commit Changes窗口後,點擊「Commit and Push」按鈕。

進入到"Push Results"窗口後,點擊"Configure"按鈕。

打開"Configure Push"窗口後,點擊"change"按鈕,進行git URI的修改。

修改git服務新的URI和GitLab的賬號,並點擊"Finish"按鈕。

返回到"Configure Push"窗口後,點擊"Save and Push"按鈕,提交本地代碼。

若出現如下窗口,證明本地代碼提交成功。

9、什麼是「git」伺服器?

1、git是一種分布式的版本管理系統,Linux的創造者Linus寫的。

2、GitHub是基於git的代碼庫託管站,也算是程序員的SMS(以碼會友),其中一個主要的開源代碼發布或託管站

3、git的作用就是對文件進行版本管理,方便在不同版本進行切換修改,類似文件分不同時間備份讓後需要時找回其中一份代替,不過更方便使用。

4、GitHub某種程度上就是代碼的網盤,也有開源開發商作為代碼發布、存放、徵集Bug和意見用。

5、git的特點:

1)就是雲的概念,代碼可以存在雲端git的網站上,就像我們在各種設備間都能瀏覽到自己存儲的網盤文件 一樣,我們在各個設備間都能訪問到自己的代碼。 

2)它的社交屬性。因為代碼是開源的,每個人都可以瀏覽別人的項目並提出意見,而且它像微博一樣,你能粉別人,也能被別人粉。如果你是大牛,如果你或者你的項目夠有趣,你就會有很多粉絲,你的項目也會被更多的人star。 

3)它能給團隊合作帶來很大幫助。現在有些公司就是用github來開發項目的。github允許多人多分支的工作,並且標示別人的修改和備注,最後還能合並。


10、git 怎麼把本地代碼上傳到伺服器

您將您本地的修改做了一次commit

git add .

git commit -m 'fix something'

推送到伺服器

git push origin master

與git代碼伺服器相關的知識