回覆列表
  • 1 # 使用者3963480931653

      首先要有 ssh遠端登陸的工具,比如secureCRT等  方案一 基於SSH直接搭建  Git支援的協議主要是四種:  本地: 需要檔案共享系統,許可權不好控制  HTTP:速度慢  SSH:同時支援讀寫操作,不支援匿名的讀取(Git預設協議)  GIT:最快  從搭建的難易程度和特點綜合篩選,最合適的還是ssh,並且大部分伺服器上基本都有ssh服務,所以省去了不少麻煩。一個最基本的思路是給每一個人一個ssh帳號,這樣大家就可以透過使用者名稱和口令來訪問了,但是顯然這不是一個好的選擇,這個做法有些多餘,並且對於repo的許可權很難管理。  在使用Github的時候,會利用rsa.pub公鑰/私鑰的方式,這樣在服務端擁有使用者的公鑰(*.pub)之後就可以,跨過繁瑣的口令,直接認證提交了,而服務端也會根據不同的使用者身份,對其許可權有著更加靈活的管理。因此我們也採用這種方式。  服務端  為了使遠端庫訪問更加直觀,先在伺服器上建立一個名為git的賬戶,這樣以後clone的時候就如下面的格式了:git clone git@server:some.git  建立新的使用者,建立repo等目錄$sudo adduser git$su git$cd ~$mkdir repos  在HOME下的.ssh目錄,如果沒有則建立,建立一個authorized_keys檔案,這個檔案就是用來管理所有git使用者的公鑰的,也就是這裡面的使用者對於專案有著R+W的許可權。  客戶端  對於每一個客戶端,我們需要生成一對金鑰和公鑰,如果是Github使用者,那麼.ssh目錄下,一定有id_rsa.pub和id_rsa兩個檔案,其中第一個是系統生成的公鑰,另一個是自己要儲存好的金鑰。如果沒有的話,可以在終端執行:ssh-keygen來生成,完成後,將自己的公鑰提交給管理員,這就是一個註冊的行為。  完成  最後一步,管理員將團隊成員的公鑰新增到authorized_keys中,比如將同學susie加入:$ cat susie.pub >> authorized_keys  至此,大家可以透過git@server:repos/some.git來訪問公共的版本庫了。  問題  安全問題,成員可以登入git使用者的shell,細節許可權如分支等不好控制  管理麻煩,新建repo,或者增加成員比較麻煩,尤其是修改的時候  方案二 使用Gitolite服務  Gitolite 也是基於SSH協議構建的方便管理git repo的應用,可以透過其原始碼安裝.  安裝  安裝按照官方給定的文件就可以輕易的實現:$ git clone git://github.com/sitaramc/gitolite$ mkdir -p $HOME/bin$ gitolite/install -to $HOME/bin$ gitolite setup -pk YourName.pub  如果執行最後一條命令的時候,gitolite不識別,則可以透過下面兩種方式解決:  將gitolite新增到PATH裡面  透過$HOME/bin/gitolite setup -pk YourName.pub 執行  至此,gitolite在服務端,搭建完畢,會發現此時HOME目錄下增加了一個檔案projects.list和一個目錄repositories,後者就是我們的版本倉庫了,每當新建repo的時候,就會在其中建立。  使用  是時候說一下gitolite的管理模式了,他會建立一個gitolite-admin的repo,管理員就是透過像這個repo提交配置檔案而實現對git伺服器的控制的。  首先,將這個repo匯入到我們的workspace:在此之前,需要配置本地的ssh,gitolite要求管理員的本地金鑰和其註冊公鑰的名字一致,比如我們安裝的時候指定 -pk後面為 admin.pub 則管理員本地需要由admin對應的私鑰。我們可以透過~/.ssh/config來進行配置(注:有些系統可以用conf,Mac OSX 下無效,只能用config). host gitolite user git hostname yourhostname.com port 22 identityfile ~/.ssh/admin  這樣,當我們訪問gitolite的時候就會自動根據配置檔案執行,配置完成後可以根據下面的命令,將gitolite-admin轉移到本地。 git clone gitolite:gitolite-admin.git  克隆完成後,可以發現,gitolite-admin下面有兩個目錄,其中conf儲存配置檔案,我們可以透過編輯裡面的gitolite.conf檔案,管理git伺服器,keydir目錄儲存使用者的公鑰pub檔案。  當我們講修改後的repo 提交的時候,gitolite就會自動的應用這些配置,管理過程就方便了很多。  配置規則  開啟gitolite.conf檔案可以看到其中的示例:  To add new users alice, bob, and carol, obtain their public keys and add them to "keydir" as alice.pub, bob.pub, and carol.pub respectively.  To add a new repo "foo" and give different levels of access to these users, edit the file "conf/gitolite.conf" and add lines like this: repo foo RW+ = alice RW = bob R = carol  上面的配置檔案就是新建了一個repo foo,並且添加了三位專案成員,每一個人的許可權不同。提交push後,管理便生效了。

  • 2 # mac小叮噹

    Mac好用的GIt管理器推薦:Tower Mac版

    Tower for Mac是應用於mac os平臺上一款非常強大的Git客戶端,Git是目前最流行的版本管理工具之一,Tower Git具有強大的Git資源庫管理、版本控制、分支管理等等,並且能夠和Xcode、github、Beanstalk、BBEdit等軟體無縫結合使用!

    Tower Mac版:https://www.macdown.com/mac/1047.html

    Tower for Mac軟體特色

    1、便於使用

    無需記住複雜的命令(及其引數)。Tower使許多高階操作像拖放一樣簡單。

    2、撤消一切

    撤消本地更改

    恢復舊版本

    還原提交

    3、清晰的視覺化,更好的理解

    Tower的清晰視覺介面非常有用 - 並且使複雜場景更容易理解。

    4、自信地使用Git

    以簡單,直觀的方式解決合併衝突

    立即檢視哪些提交尚未與遙控器同步

    停止使用SSH金鑰,使用者名稱,密碼和身份驗證令牌進行摔跤

  • 中秋節和大豐收的關聯?
  • 80座標系和2000座標高程差距?