導航:首頁 > 配伺服器 > git查看伺服器地址命令

git查看伺服器地址命令

發布時間:2022-05-06 05:26:06

1. git repo怎麼看到伺服器的目錄

用 repo 拿的時候其實 .git 統統會放在 .repo 里,然後外面的.git都只是link
其實 repo 只是管理多 git 的工具,裡面版本管理部分實際用的都是git,它的好處就是能夠把多個git組合成一個大的項目
你如果需要省空間,可以用 repo sync -c ,這樣只會獲取當前相關的分支。

2. 本地git軟體怎麼連接linux伺服器地址

1、前期准備
伺服器上配置好的git
git客戶端
1.1
在伺服器上安裝git (本機所使用的linux是ubuntu)
在伺服器輸入命令:sudo apt-get install git即可 然後創建名字為git的用戶組和用戶
1.2
下載客戶端 在瀏覽器地址欄輸入:https://git-for-windows.github.io/
回車後

點擊Download進行下載
2、具體操作
2.1
在合適的位置創建一個目錄充當git遠程倉庫(本機位置為/usr/testgit),然後使用init命令初始化倉庫
在命令終端輸入:
sudo git init –bare

2.2
將git init生成的目錄所屬者改為git
輸入命令:sudo chown -R git:git *

至此伺服器端的操作完成。
在客戶端合適位置使用git 客戶端從伺服器資源
2.3
首先打開git客戶端

點擊Git Bash Here 後出現

在git客戶端命名終端輸入:
git clone git@xxxxxx:/rrrrr 其中xxxxxx是遠程伺服器的地址 rrrrr為git倉庫所在位置

如果配置正確你選中的目錄下會出現名字為testgit的文件夾 testgit文件夾下隨意創建若干個文件

2.3
在git客戶端上使用命令 git add 111.txt 222.txt 333.txt 或者使用git add .(將本文件夾下所有文件都add) 該命令的作用是告訴git把文件添加到git倉庫
2.4
然後使用git commit命令將文件提交到git倉庫

-m 後面的內容為本次提交文件的一些注釋內容
此時文件還沒有從本地倉庫上傳到遠程伺服器倉庫
2.5
使用push命令將本地倉庫中的內容提交到遠程倉庫
在git客戶端命令終端輸入:git push origin master

至此本地倉庫中的文件上傳已經上傳到遠程伺服器倉庫。
在其他文件夾下再次使用 git clone 命令 從遠程伺服器同步倉庫

3. ios xcode怎麼修改git伺服器地址

幾乎所有iOS程序員都上過GitHub尋找開源類庫,的確,GitHub上有大量優秀的開源類庫供大家學習。但是如何在Xcode中上傳代碼至GitHub呢?
首先我們新建一個工程,記得要勾選Create git repository on:

這說明使用Source Control,會默認在工程中創建git repository。然後工程新建完成後,會在右側邊欄看到這些信息,說明已經啟用Source Control


如果沒有使用Source Control,則是這樣的:

現在我們已經在工程中啟用了Source Control,這樣就可以使用git來管理工程版本了

但是如果我們想對一個未啟用git的工程加入git的功能怎麼做呢?我們可以使用命令行來開啟此功能,新建一個工程,不勾選Create git repository on,此時我們沒有開啟Source Control,然後我們手動創建git管理,如下圖所示:

YiBantekiiMac-3:UseGit YiBan$ cd /Users/YiBan/Documents/iOS_Dev/ManualGitDemo
YiBantekiiMac-3:ManualGitDemo YiBan$ git init
Initialized empty Git repository in /Users/YiBan/Documents/iOS_Dev/ManualGitDemo/.git/
使用

git init
來初始化一個空的git倉庫,現在使用ls-la命令查看目錄下的所有文件(包含隱藏文件)

total 16
drwxr-xr-x 7 YiBan staff 238 5 12 16:10 .
drwxr-xr-x 52 YiBan staff 1768 5 12 16:06 ..
-rw-r--r--@ 1 YiBan staff 6148 5 12 16:10 .DS_Store
drwxr-xr-x 9 YiBan staff 306 5 12 16:06 .git
drwxr-xr-x 12 YiBan staff 408 5 12 16:06 ManualGitDemo
drwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemo.xcodeproj
drwxr-xr-x 5 YiBan staff 170 5 12 16:06 ManualGitDemoTests
此時我們看到除了三個文件之外還有兩個隱藏文件,.DS_Store和.git,.DS_Store是由OS X生成的文件,包含了文件夾中的位置屬性,.git則是啟用了Source Control自動生成的目錄,然後使用git status查看當前狀態:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master

Initial commit

Untracked files:
(use "git add <file>..." to include in what will be committed)

.DS_Store
ManualGitDemo.xcodeproj/
ManualGitDemo/
ManualGitDemoTests/

nothing added to commit but untracked files present (use "git add" to track)
說明初始化成功了,顯示出了未被追蹤的文件。不過我們並不希望把.DS_Store也加入的git中,因為那文件對我們沒有任何用處,我們可以忽略它,具體做法是:新建一個文件,命名為.gitignore,然後使用文本編輯器輸入以下信息:

# Xcode�6�5
.DS_Store�6�5
*/build/*
�6�5*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.hmap
保存至工程文件夾中,這樣我們目錄中就多出一個.gitignore文件了,這時我們再用git status命令查看當前狀態:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master

Initial commit

Untracked files:
(use "git add <file>..." to include in what will be committed)

.gitignore
ManualGitDemo.xcodeproj/
ManualGitDemo/
ManualGitDemoTests/

nothing added to commit but untracked files present (use "git add" to track)
這里看到已經沒有.DS_Store了,說明.gitignore已經把.DS_Store忽略了。現在可以提交了,使用

git add .
此命令先將文件添加至暫存區域,但還沒有提交,查看下狀態:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master

Initial commit

Changes to be committed:
(use "git rm --cached <file>..." to unstage)

new file: .gitignore
new file: ManualGitDemo.xcodeproj/project.pbxproj
new file: ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file: ManualGitDemo/AppDelegate.h
new file: ManualGitDemo/AppDelegate.m
new file: ManualGitDemo/Base.lproj/Main.storyboard
new file: ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
new file: ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
new file: ManualGitDemo/ManualGitDemo-Info.plist
new file: ManualGitDemo/ManualGitDemo-Prefix.pch
new file: ManualGitDemo/ViewController.h
new file: ManualGitDemo/ViewController.m
new file: ManualGitDemo/en.lproj/InfoPlist.strings
new file: ManualGitDemo/main.m
new file: ManualGitDemoTests/ManualGitDemoTests-Info.plist
new file: ManualGitDemoTests/ManualGitDemoTests.m
new file: ManualGitDemoTests/en.lproj/InfoPlist.strings
現在進行提交,使用git commit -m "Initail"命令,引號內的內容是提交的注釋,隨便寫什麼都可以:

YiBantekiiMac-3:ManualGitDemo YiBan$ git commit -m "Initial"
[master (root-commit) 83bbefc] Initial
17 files changed, 803 insertions(+)
create mode 100644 .gitignore
create mode 100644 ManualGitDemo.xcodeproj/project.pbxproj
create mode 100644 ManualGitDemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
create mode 100644 ManualGitDemo/AppDelegate.h
create mode 100644 ManualGitDemo/AppDelegate.m
create mode 100644 ManualGitDemo/Base.lproj/Main.storyboard
create mode 100644 ManualGitDemo/Images.xcassets/AppIcon.appiconset/Contents.json
create mode 100644 ManualGitDemo/Images.xcassets/LaunchImage.launchimage/Contents.json
create mode 100644 ManualGitDemo/ManualGitDemo-Info.plist
create mode 100644 ManualGitDemo/ManualGitDemo-Prefix.pch
create mode 100644 ManualGitDemo/ViewController.h
create mode 100644 ManualGitDemo/ViewController.m
create mode 100644 ManualGitDemo/en.lproj/InfoPlist.strings
create mode 100644 ManualGitDemo/main.m
create mode 100644 ManualGitDemoTests/ManualGitDemoTests-Info.plist
create mode 100644 ManualGitDemoTests/ManualGitDemoTests.m
create mode 100644 ManualGitDemoTests/en.lproj/InfoPlist.strings
再查看下狀態:

YiBantekiiMac-3:ManualGitDemo YiBan$ git status
On branch master
nothing to commit, working directory clean
好了,當前工作區是干凈的,代碼都已經提交完畢了。我們可以用Xcode提交代碼,也可以用命令來提交,但是用命令行的話可以做的事情更多一些。使用Xcode可以查看提交的歷史紀錄,Source Control->History:

首先必須有GitHub的帳號,沒有的話去注冊一個,並且還要創建SSH,GitHub使用了公私密鑰,確保與你的電腦通訊過程是安全的。

SSH創建過程是這樣的:

1. 在命令行輸入cd ~/.ssh,然後ls,看看此文件夾下有哪些文件,如果有id_rsa.pub或者id_dsa.pub(名字可能會不同),說明你已經有SSH keys了,你可以將它添加到你的賬戶中

2. 如果沒有的話,你講得到"No such file or directory"這個錯誤信息,此時你可以通過命令生成出來:

ssh-keygen -t rsa -C "YOUR EMAIL"
在那裡填寫你的email地址,之後會被要求填寫密碼,此時的SSH keys就生成好了,有了SSH Keys後將其添加至你的GitHub賬戶中就可以了,在賬戶設置中找到SSH keys這一項,然後填寫title和key,現在,你的SSH Key就和GitHub賬戶綁定了

前往個人主頁,新建一個repository(網頁右上方),會要輸入一些信息:

輸入Repository name和描述,然後選創建,會看到repository的鏈接:

把鏈接賦值下來,前往Xcode中,Source Control->第一項->Configure...,之後選Remotes:

Add Remote中,輸入Name(你工程的名字)和Address(之前的鏈接地址),然後Source Control->Push,選擇剛剛新建的鏈接,Push~

現在刷新下GitHub主頁,你的工程已經添加成功了~!

4. 什麼是git伺服器

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

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

Git的主要功能:

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

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

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



(4)git查看伺服器地址命令擴展閱讀:

Git的優缺點:

優點:

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

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

3、速度快、靈活。

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

5、離線工作。

缺點:

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

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

3、不符合常規思維。

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

5. 怎樣使用git將本地代碼上傳到伺服器

注冊賬戶以及創建倉庫

要想使用github第一步當然是注冊github賬號了。之後就可以創建倉庫了(免費用戶只能建公共倉庫),Create a New Repository,填好名稱後Create,之後會出現一些倉庫的配置信息,這也是一個git的簡單教程。步驟如下:

打開https://github.com直接在首頁上注冊

2)上傳到github

$ git push origin master

git push命令會將本地倉庫推送到遠程伺服器。

git pull命令則相反。

註:首次提交,先git pull下,修改完代碼後,使用git status可以查看文件的差別,使用git add 添加要commit的文件。

大功告成,現在你知道如何將本地的項目提交到github上了。

gitignore文件

.gitignore顧名思義就是告訴git需要忽略的文件,這是一個很重要並且很實用的文件。一般我們寫完代碼後會執行編譯、調試等操作,這期間會產生很多中間文件和可執行文件,這些都不是代碼文件,是不需要git來管理的。我們在git status的時候會看到很多這樣的文件,如果用git add -A來添加的話會把他們都加進去,而手動一個個添加的話也太麻煩了。這時我們就需要.gitignore了。

Git命令

查看、添加、提交、刪除、找回,重置修改文件

git help <command> # 顯示command的helpgit show # 顯示某次提交的內容 git show $idgit co -- <file> # 拋棄工作區修改git co . # 拋棄工作區修改git add <file> # 將工作文件修改提交到本地暫存區git add . # 將所有修改過的工作文件提交暫存區git rm <file> # 從版本庫中刪除文件git rm <file> --cached # 從版本庫中刪除文件,但不刪除文件git reset <file> # 從暫存區恢復到工作文件git reset -- . # 從暫存區恢復到工作文件git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改git ci <file> git ci . git ci -a # 將git add, git rm和git ci等操作都合並在一起做git ci -am "some comments"git ci --amend # 修改最後一次提交記錄git revert <$id> # 恢復某次提交的狀態,恢復動作本身也創建次提交對象git revert HEAD # 恢復最後一次提交的狀態


查看文件diff

git diff <file> # 比較當前文件和暫存區文件差異 git diffgit diff <id1><id2> # 比較兩次提交之間的差異git diff <branch1>..<branch2> # 在兩個分支之間比較git diff --staged # 比較暫存區和版本庫差異git diff --cached # 比較暫存區和版本庫差異git diff --stat # 僅僅比較統計信息




查看提交記錄

git log git log <file> # 查看該文件每次提交記錄git log -p <file> # 查看每次詳細修改內容的diffgit log -p -2 # 查看最近兩次詳細修改內容的diffgit log --stat #查看提交統計信息


tig
Mac上可以使用tig代替diff和log,brew install tig


Git 本地分支管理
查看、切換、創建和刪除分支

git br -r # 查看遠程分支git br <new_branch> # 創建新的分支git br -v # 查看各個分支最後提交信息git br --merged # 查看已經被合並到當前分支的分支git br --no-merged # 查看尚未被合並到當前分支的分支git co <branch> # 切換到某個分支git co -b <new_branch> # 創建新的分支,並且切換過去git co -b <new_branch> <branch> # 基於branch創建新的new_branchgit co $id # 把某次歷史提交記錄checkout出來,但無分支信息,切換到其他分支會自動刪除git co $id -b <new_branch> # 把某次歷史提交記錄checkout出來,創建成一個分支git br -d <branch> # 刪除某個分支git br -D <branch> # 強制刪除某個分支 (未被合並的分支被刪除的時候需要強制)



分支合並和rebase

git merge <branch> # 將branch分支合並到當前分支git merge origin/master --no-ff # 不要Fast-Foward合並,這樣可以生成merge提交git rebase master <branch> # 將master rebase到branch,相當於: git co <branch> && git rebase master && git co master && git merge <branch>



Git補丁管理(方便在多台機器上開發同步時用)

git diff > ../sync.patch # 生成補丁git apply ../sync.patch # 打補丁git apply --check ../sync.patch #測試補丁能否成功




Git暫存管理

git stash # 暫存git stash list # 列所有stashgit stash apply # 恢復暫存的內容git stash drop # 刪除暫存區Git遠程分支管理

git pull # 抓取遠程倉庫所有分支更新並合並到本地git pull --no-ff # 抓取遠程倉庫所有分支更新並合並到本地,不要快進合並git fetch origin # 抓取遠程倉庫更新git merge origin/master # 將遠程主分支合並到本地當前分支git co --track origin/branch # 跟蹤某個遠程分支創建相應的本地分支git co -b <local_branch> origin/<remote_branch> # 基於遠程分支創建本地分支,功能同上



git push # push所有分支

git push origin master # 將本地主分支推到遠程主分支git push -u origin master # 將本地主分支推到遠程(如無遠程主分支則創建,用於初始化遠程倉庫)git push origin <local_branch> # 創建遠程分支, origin是遠程倉庫名git push origin <local_branch>:<remote_branch> # 創建遠程分支git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然後再push刪除遠程分支




Git遠程倉庫管理

git remote -v # 查看遠程伺服器地址和倉庫名稱git remote show origin # 查看遠程伺服器倉庫狀態git remote add origin git@ github:robbin/robbin_site.git # 添加遠程倉庫地址git remote set-url origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址(用於修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫



創建遠程倉庫

git clone --bare robbin_site robbin_site.git # 用帶版本的項目創建純版本倉庫scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到伺服器上mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在伺服器創建純倉庫git remote add origin git@ github.com:robbin/robbin_site.git # 設置遠程倉庫地址git push -u origin master # 客戶端首次提交git push -u origin develop # 首次將本地develop分支提交到遠程develop分支,並且trackgit remote set-head origin master # 設置遠程倉庫的HEAD指向master分支




也可以命令設置跟蹤遠程庫和本地庫

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop此文章屬轉載,原文地址:http://1ke.co/course/194另附: 解決 在使用git 對源代碼進行push到gitHub時可能會出錯,error: failed to push some refs to git。出現錯誤的主要原因是github中的README.md文件不在本地代碼目錄中可以通過如下命令進行github與本地代碼合並: git pull --rebase origin master重新執行之前的git push 命令,成功!

6. windows下怎麼查看「git」安裝路徑

1,如何打開git命令窗口?

前提是機器已經安裝了git,首先,找到工程路徑,以java工程為例,在eclipse中右鍵已經從git上拉下來的工程,選擇"Properties",出現如下圖:

根據路徑找到本地存儲地址,右鍵,如圖:


點擊new branch,填寫分支名即可.

工具/原料

Git-2.8.1-64-bit or Git-2.8.1-32-bit
windows 8
方法/步驟

安裝好Git工具後,找到桌面或者win8的開始菜單下找到Git Bash 快捷方式

選中Git Bash圖標,右鍵,選中「屬性」,打開如圖:

去掉--cd-to-home,修改「起始位置」為自定義的git 本地倉庫的路徑,如:F:WorkspaceKYGitLabel

再次打開Git Bash時已經修改了默認路徑:

Git CMD 也如上修改,將快捷方式中路徑修改為自定義路徑即可,這樣每次打開Git Bash 和Git CMD就自己進入本地的Git Repository裡面了。

7. 如何在git伺服器上查看提交的文件

代碼提交
代碼提交一般有五個步驟:
1.查看目前代碼的修改狀態
2.查看代碼修改內容
3.暫存需要提交的文件
4.提交已暫存的文件
5.同步到伺服器
1. 查看目前代碼的修改狀態
提交代碼之前,首先應該檢查目前所做的修改,運行git status命令
a) 已暫存 (changes to be committed)

new file //表示新建文件
modified //表示修改文件
deleted //表示刪除文件
b) 已修改 (changed but not updated)

modified //表示修改文件
deleted //表示刪除文件
另外,git 給出了可能需要的操作命令,git add/rm, gitcheckout --
c) 未跟蹤 (untracked files)

2. 查看代碼修改的內容
git diff <file>
比較某文件與最近提交節點的差異。
注意:如果該文件已暫存,那麼應該使用git diff –cached<file>

git diff <hashcode> <hashcode> <file>
比較某文件在提交節點a,節點b的差異。
技巧:如果省略後面一個hashcode,則默認表示與上一提交節點比較。(也可以利用^運算符)

3. 暫存需要提交的文件
如果是新建的文件

則git add <file>

如果是修改的文件
則git add <file>

如果是刪除的文件
則 git rm <file>

4. 提交已暫存的文件
git commit
注意注釋填寫規范。

git commit --amend
修改最近一次提交。有時候如果提交注釋書寫有誤或者漏提文件,可以使用此命令。

5. 同步到伺服器
同步到伺服器前先需要將伺服器代碼同步到本地
命令: git pull
如果執行失敗,就按照提示還原有沖突的文件,然後再次嘗試同步。
命令:git checkout -- <有沖突的文件路徑>

同步到伺服器
命令: git push origin <本地分支名>
如果執行失敗,一般是沒有將伺服器代碼同步到本地導致的,先執行上面的git pull命令。

8. mac 怎麼安裝git 伺服器

本文介紹如何在 mac 機器上創建 Git 伺服器,總體思路是:使用gitosis來簡化創建過程,在用作伺服器的機器上創建一個名為 git 的賬戶來創建 git 伺服器,其他客戶端通過 ssh 機制訪問 git 伺服器。

一,創建 git 賬戶

1,在用作伺服器的機器上創建 git 賬戶。我們可以通過 System Preferences->accounts 來添加。在這里我添加一個 git 的 administrator 賬戶,administrator 不是必須的,在這里僅僅為了方便。

2,設置遠程訪問

logout 當前賬戶,使用 git 賬戶登錄;在 System Preferences->Sharing 中,勾選 Remote Login。

二,下載安裝 gitosis

1,Mac OSX Yosemite 默認已經為我們安裝了 Git 和 python,可以使用如下命令查看其版本信息:

yourname:~ git$git--version
git version 2.3.2 (Apple Git-55)
yourname:~ git$python--version
Python 2.7.9

2,通過命令 git clone [email protected]:tv42/gitosis.git 來下載 gitosis

yourname:~ git$ git clone [email protected]:tv42/gitosis.git
Cloning into gitosis
remote: Counting objects: 614, done.
remote: Compressing objects: 100% (183/183), done.
remote: Total 614 (delta 434), reused 594 (delta 422)
Receiving objects: 100% (614/614), 93.82 KiB | 45 KiB/s, done.
Resolving deltas: 100% (434/434), done.

3,進入 gitosis 目錄,使用命令 sudo python setup.py install 來執行 python 腳本來安裝 gitosis。

yourname:~ git$ cd gitosis/yourname:gitosis git$ sudo python setup.py install
running install
running bdist_egg
running egg_info
creating gitosis.egg-info
……
Using /Library/Python/2.6/site-packages/setuptools-0.6c9-py2.6.egg
Finished processing dependencies for gitosis==0.2

三,製作 ssh rsa 公鑰

1,回到 client 機器上,製作 ssh 公鑰。在這里我的使用同一台機器上的另一個賬戶作為 client。如果作為 client 的機器與作為 server 的機器不是同一台,也是類型的流程:製作公鑰,放置到服務的 /tmp 目錄下。只不過在同一台機器上,我們可以通過開啟另一個 terminal,使用 su 切換到 local 賬戶就可以同時操作兩個賬戶。

yourname:~ git$ su local_accountPassword:bash-3.2$ cd ~
bash-3.2$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/local_account/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:Your identification has been saved in /Users/local_account/.ssh/id_rsa.
Your public key has been saved in /Users/local_account/.ssh/id_rsa.pub.

bash-3.2$ cd .ssh
bash-3.2$ ls
id_rsa id_rsa.pub
bash-3.2$ cp id_rsa.pub /tmp/yourame.pub

在上面的命令里,首先通過 su 切換到 local 賬戶(只有在同一台機器上才有效),然後進入到 local 賬戶的 home 目錄,使用 ssh-keygen -t rsa 生成 id_rsa.pub,最後將該文件拷貝放置到 /tmp/yourname.pub,這樣 git 賬戶就可以訪問 yourname.pub了,在這里改名是為了便於在 git 中辨識多個 client。

四,使用 ssh 公鑰初始化 gitosis

1,不論你是以那種方式(郵件,usb等等)拷貝 yourname.pub 至伺服器的 /tmp/yourname.pub。下面的流程都是一樣,登入伺服器機器的 git 賬戶,進入先前提到 gitosis 目錄,進行如下操作初始化 gitosis,初始化完成後,會在 git 的 home 下創建 repositories 目錄。

yourname:gitosis git$ sudo -H -u git gitosis-init < /tmp/yourname.pub
Initialized empty Git repository in /Users/git/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /Users/git/repositories/gitosis-admin.git/

在這里,會將該 client 當做認證受信任的賬戶,因此在 git 的 home 目錄下會有記錄,文件 authorized_keys 的內容與 yourname.pub 差不多。

yourname:~ git$ cd ~yourname:~ git$ cd .sshyourname:.ssh git$ ls
authorized_keys

我們需要將 authorizd_keys 稍做修改,用文本編輯器打開它,刪除裡面的"command="gitosis-serve yourname",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " 這一行:

yourname:.ssh git$ open -e authorized_keys

然後,我們對 post-update 賦予可寫許可權,以便 client 端可以提交更改。

yourname:gitosis git$ sudo chmod 755 /Users/git/repositories//gitosis-admin.git/hooks/post-update
Password:
yourname:.ssh git$ cd ~
yourname:~ git$ cd repositories/
yourname:repositories git$ ls
gitosis-admin.git
yourname:repositories git$

在上面的命令中可以看到,gitosis 也是作為倉庫的形式給出,我們可以在其他賬戶下 checkout,然後對 gitosis 進行配置管理等等,而無需使用伺服器的 git 賬戶進行。

最後一步,修改 git 賬戶的 PATH 路徑。

yourname:gitosis git$ touch ~/.bashrc
yourname:gitosis git$ echo PATH=/usr/local/bin:/usr/local/git/bin:$PATH > .bashrc
yourname:gitosis git$ echo export PATH >> .bashrc
yourname:gitosis git$ cat .bashrc
PATH=/usr/local/bin:/usr/local/git/bin:$PATHexport PATH

至此,伺服器的配置完成。

五,client 配置

1,回到 local 賬戶,首先在 terminal 輸入如下命令修改 local 的 git 配置:

bash-3.2$ git config --global user.name "yourgitname"bash-3.2$ git config --global user.email "[email protected]"

2,測試伺服器是否連接正確,將 10.1.4.211 換成你服務的名稱或伺服器地址即可。

yourname:~ local_account$ ssh [email protected] login: Mon Nov 7 13:11:38 2011 from 10.1.4.211

3,在本地 clone 伺服器倉庫,下面以 gitosis-admin.git 為例:

bash-3.2$ git clone [email protected]:repositories/gitosis-admin.git
Cloning into gitosis-adminremote: Counting objects: 5, done.remote: Compressing objects: 100% (5/5), done.remote: Total 5 (delta 0), reused 5 (delta 0)
Receiving objects: 100% (5/5), done.
bash-3.2$ ls
Desktop InstallApp Music Sites
Documents Library Pictures gitosis-admin
Downloads Movies Public
bash-3.2$ git

在上面的輸出中可以看到,我們已經成功 clone 伺服器的 gitosis-admin 倉庫至本地了。

4,在本地管理 gitosis-admin:
進入 gitosis-admin 目錄,我們來查看一下其目錄結構:gitosis.conf 文件是一個配置文件,裡面定義哪些用戶可以訪問哪些倉庫,我們可以修改這個配置;`keydir` 是存放ssh 公鑰的地方。

bash-3.2$ cd gitosis-admin/
bash-3.2$ ls
gitosis.conf keydir
bash-3.2$ cd keydir/
bash-3.2$ ls
yourname.pub

我們只需要將其他 client 產生的 ssh 公鑰添加到 keydir 目錄下,並在 gitosis.conf 文件中配置這些用戶可以訪問的倉庫(用戶名與放置在 keydir 下sh 公鑰名相同,這就是在前面我們要修改ssh 公鑰名的原因),然後將改動提交至伺服器,這樣就可以讓其他的 client 端訪問伺服器的代碼倉庫了。

5,倉庫許可權管理

gitosis.conf文件是用來設置用戶、倉庫和許可權的控制文件。keydir 目錄則是保存所有具有訪問許可權用戶公鑰的地方— 每人一個。在 keydir 里的文件名(比如上面的 yourname.pub)應該跟你的不一樣 — Gitosis 會自動從使用 gitosis-init 腳本導入的公鑰尾部的描述中獲取該名字。

看一下 gitosis.conf 文件的內容,它應該只包含與剛剛克隆的 gitosis-admin 相關的信息:

$ cat gitosis.conf
[gitosis]

[group gitosis-admin]
members = scott
writable = gitosis-admin

它顯示用戶 yourname — 初始化 Gitosis 公鑰的擁有者 — 是唯一能管理 gitosis-admin 項目的人。

現在我們來添加一個新項目。為此我們要建立一個名為 mobile 的新段落,在其中羅列手機開發團隊的開發者,以及他們擁有寫許可權的項目。由於 yourname 是系統中的唯一用戶,我們把他設為唯一用戶,並允許他讀寫名為 iphone_project 的新項目:

[group mobile]
members = scott
writable = iphone_project

修改完之後,提交 gitosis-admin 里的改動,並推送到伺服器使其生效:

$ git commit -am 'add iphone_project and mobile group'[master 8962da8] add iphone_project and mobile group
1 file changed, 4 insertions(+)
$ git push origin master
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 272 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@gitserver:gitosis-admin.git
fb27aec..8962da8 master -> master

6,添加新項目到倉庫種

在新工程 iphone_project 里首次推送數據到伺服器前,得先設定該伺服器地址為遠程倉庫。但你不用事先到伺服器上手工創建該項目的裸倉庫— Gitosis 會在第一次遇到推送時自動創建:

$ git remote add origin git@gitserver:iphone_project.git
$ git push origin master
Initialized empty Git repository in /opt/git/iphone_project.git/
Counting objects: 3, done.
Writing objects: 100% (3/3), 230 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@gitserver:iphone_project.git
* [new branch] master -> master

請注意,這里不用指明完整路徑(實際上,如果加上反而沒用),只需要一個冒號加項目名字即可 — Gitosis 會自動幫你映射到實際位置。

要和朋友們在一個項目上協同工作,就得重新添加他們的公鑰。不過這次不用在伺服器上一個一個手工添加到 ~/.ssh/authorized_keys 文件末端,而只需管理 keydir 目錄中的公鑰文件。文件的命名將決定在 gitosis.conf 中對用戶的標識。現在我們為 John,Josie 和 Jessica 添加公鑰:

$ cp /tmp/id_rsa.john.pub keydir/john.pub
$ cp /tmp/id_rsa.josie.pub keydir/josie.pub
$ cp /tmp/id_rsa.jessica.pub keydir/jessica.pub

然後把他們都加進 mobile 團隊,讓他們對 iphone_project 具有讀寫許可權:

[group mobile]
members = scott john josie jessica
writable = iphone_project

如果你提交並推送這個修改,四個用戶將同時具有該項目的讀寫許可權。

Gitosis 也具有簡單的訪問控制功能。如果想讓 John 只有讀許可權,可以這樣做:

[group mobile]
members = scott josie jessica
writable = iphone_project

[group mobile_ro]
members = johnreadonly = iphone_project

現在 John 可以克隆和獲取更新,但 Gitosis 不會允許他向項目推送任何內容。像這樣的組可以隨意創建,多少不限,每個都可以包含若干不同的用戶和項目。甚至還可以指定某個組為成員之一(在組名前加上 @ 前綴),自動繼承該組的成員:

[group mobile_committers]
members = scott josie jessica

[group mobile]
members = @mobile_committers
writable = iphone_project

[group mobile_2]
members = @mobile_committers john
writable = another_iphone_project

如果遇到意外問題,試試看把 loglevel=DEBUG 加到 [gitosis] 的段落(譯註:把日誌設置為調試級別,記錄更詳細的運行信息。)。如果一不小心搞錯了配置,失去了推送許可權,也可以手工修改伺服器上的 /home/git/.gitosis.conf 文件 — Gitosis 實際是從該文件讀取信息的。它在得到推送數據時,會把新的 gitosis.conf 存到該路徑上。所以如果你手工編輯該文件的話,它會一直保持到下次向 gitosis-admin 推送新版本的配置內容為

9. 如何用git把代碼上傳到伺服器

如你本機新建Git項目 地址:[email protected]:yourName/yourRepo.git,遠程代碼庫伺服器地址:192.168.10.1,遠程代碼伺服器賬戶名密碼:admin 密碼:123456
1.首先確保配置正確
a. 創建本地ssh-key
$ ssh-keygen -t rsa
在~/.ssh/下會生成 id_rsa.pub密鑰文件
b.上傳密鑰文件 id_rsa.pub到代碼伺服器
$cat /home/XXXX/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

會提示輸如代碼伺服器密碼,輸入密碼:123456即可。
c.添加全局變數:
$ git config –-global user.name 『yourName』
$ git config –-global user.email 』[email protected]
2.進入要上傳的git項目
$ git remote add origin [email protected]:yourName/yourRepo.git
之後進入.git,打開config,這里會多出一個remote 「origin」內容,這就是剛才添加的遠程地址,也可以直接修改config來配置遠程地址。
3.提交、上傳
a.接下來在本地倉庫里添加一些文件,比如README,
$ git add README
$ git commit -m "first commit"
b.上傳到代碼伺服器:
$ git push origin master
git push命令會將本地倉庫推送到遠程伺服器。
git pull命令則相反。
修改完代碼後,使用git status可以查看文件的差別,使用git add 添加要commit的文件,也可以用git add -i來智能添加文件。之後git commit提交本次修改,git push上傳到代碼伺服器。

10. 怎麼在ubuntu創建git伺服器

安裝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查看伺服器地址命令相關的資料

熱點內容
中國城市程序員之都 瀏覽:6
程序員30歲以後走下坡 瀏覽:23
多重解壓怎麼解 瀏覽:974
xp系統連接ftp伺服器怎麼解決 瀏覽:431
伺服器是誰干什麼的 瀏覽:641
年薪五十萬的程序員什麼水平 瀏覽:987
java隨機生成函數 瀏覽:773
平安的app上怎麼樣買保險視頻 瀏覽:391
java打包目錄 瀏覽:87
c語音編譯器安卓 瀏覽:310
app被套20萬怎麼辦 瀏覽:996
伺服器維護怎麼收費 瀏覽:883
怎麼復制被加密的文檔 瀏覽:518
程序員分離式鍵盤 瀏覽:916
系統加密軟體不登錄的話會加密嗎 瀏覽:750
單片機溫度監控系統的組成 瀏覽:66
懷化程序員培訓哪家好 瀏覽:710
安卓的四大組件英文是什麼 瀏覽:241
騰訊程序員9級什麼待遇 瀏覽:844
編譯成功後出現黑框怎麼辦 瀏覽:312