查看當前的遠程庫測試
要查看當前配置有哪些遠程倉庫,能夠用 git remote 命令,它會列出每一個遠程庫的簡短名字.在克隆完某個項目後,至少能夠看到一個名爲 origin 的遠程庫,Git 默認使用這個名字來標識你所克隆的原始倉庫:fetch
$ git clone git://github.com/schacon/ticgit.giturl
Initialized empty Git repository in /private/tmp/ticgit/.git/
remote: Counting objects: 595, done.
remote: Compressing objects: 100% (269/269), done.
remote: Total 595 (delta 255), reused 589 (delta 253)
Receiving objects: 100% (595/595), 73.31 KiB | 1 KiB/s, done.
Resolving deltas: 100% (255/255), done.
$ cd ticgit
(1)git remote 不帶參數,列出已經存在的遠程分支
$ git remote
origin
(2)git remote -v | --verbose 列出詳細信息,在每個名字後面列出其遠程url
此時, -v 選項(譯註:此爲 –verbose 的簡寫,取首字母),顯示對應的克隆地址:
$ git remote -v
origin git://github.com/schacon/ticgit.git若是有多個遠程倉庫,此命令將所有列出.好比在個人 Grit 項目中,能夠看到:
$ cd grit
$ git remote -v
bakkdoor git://github.com/bakkdoor/grit.git
cho45 git://github.com/cho45/grit.git
defunkt git://github.com/defunkt/grit.git
koke git://github.com/koke/grit.git
origin 這樣一來,我就能夠很是輕鬆地從這些用戶的倉庫中,拉取他們的提交到本地.請注意,上面列出的地址只有 origin 用的是 SSH URL 連接,因此也只有這個倉庫我能推送數據上去(咱們會在第四章解釋緣由).
添加遠程倉庫
要添加一個新的遠程倉庫,能夠指定一個簡單的名字,以便未來引用,運行 git remote add [shortname] [url]:
$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin git://github.com/schacon/ticgit.git
pb git://github.com/paulboone/ticgit.git如今能夠用字串 pb 指代對應的倉庫地址了.好比說,要抓取全部 Paul 有的,但本地倉庫沒有的信息,能夠運行 git fetch pb:
$ git fetch pb
remote: Counting objects: 58, done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 44 (delta 24), reused 1 (delta 0)
Unpacking objects: 100% (44/44), done.
From git://github.com/paulboone/ticgit
* [new branch] master -> pb/master
* [new branch] ticgit -> pb/ticgit
如今,Paul 的主幹分支(master)已經徹底能夠在本地訪問了,對應的名字是 pb/master,你能夠將它合併到本身的某個分支,或者切換到這個分支,看看有些什麼有趣的更
二。經過git remote 創建遠程倉庫
創建遠程倉庫
最近一直在學習使用git來管理本身的程序,老是今天東學一點,明天西湊一點,到用的時候,老是有些茫然不知所措。
在博客園裏看見一篇老好的文章,教咱們作筆記啦,可是作完筆記仍是要記得總結哦!
來吧,讓咱們一塊兒來總結吧,今天先來看看git遠程的倉庫是怎麼創建的。
固然,使用git嘛,第一步確定是得新建一個git倉庫,總得有個操做的空間吧,巧婦難爲無米之炊嘛。
1.初始化一個空的git倉庫
1 software@debian:~$ mkdir yafeng 2 software@debian:~$ cd yafeng/ 3 software@debian:~/yafeng$ ls 4 software@debian:~/yafeng$ git init 5 Initialized empty Git repository in /home/software/yafeng/.git/ 6 software@debian:~/yafeng$
命令註釋:
在上面的命令中,真正去初始化的是第四行的那句---git init
固然,還有不少同窗會看見加了參數--bare的命令,這個命令會在咱們之後慢慢給你們解釋,對於不是做爲共享倉庫,而是做爲一個本身操做的倉庫,上面這樣就足夠了。
好了,如今yafeng目錄就是咱們的據點---git倉庫了哦。
下面咱們總要作點什麼的吧,入寶山總不能光看着哦:
2.向倉庫提交咱們寫的文件
1 software@debian:~/yafeng$ echo "our first git repository" >> file 2 software@debian:~/yafeng$ ls 3 file 4 software@debian:~/yafeng$ git add file 5 software@debian:~/yafeng$ git commit -m "the first file to commit" file 6 [master (root-commit) 0c72641] the first file to commit 7 1 files changed, 1 insertions(+), 0 deletions(-) 8 create mode 100644 file 9 software@debian:~/yafeng$
命令解釋:
咱們在倉庫中新建了一個文件file,做爲咱們的示例文件。
第4行:將file文件的信息添加到git倉庫的索引庫中,並無真正添加到庫。固然上例中的file文件只是咱們的示例,它是一個路徑,所以,能夠是文件,更能夠是目錄。
第5行:將索引庫中的內容向git倉庫進行提交。這步以後文件file纔算真正提交到拉git倉庫中。雙引號中的內容是根據每次修改的不一樣內容,由咱們本身去填寫的,
不少人會看見
git commit -a -m 「 」
這條的命令是在你已經add了一個或多個文件過以後,而後修改了這些文件,就可使用該命令進行提交。
好了,無論怎麼樣,終因而將文件提交到庫了。但是如今的倉庫只是一個本地的倉庫,咱們的目標是變成遠程倉庫哦,繼續吧。
3.在本地倉庫添加一個遠程倉庫,並將本地的master分支跟蹤到遠程分支
1 software@debian:~/yafeng$ git remote add origin ssh://software@172.16.0.30/~/yafeng/.git 2 software@debian:~/yafeng$ git push origin master 3 software@172.16.0.30's password: 4 Everything up-to-date 5 software@debian:~/yafeng$
命令註釋:
第1行:在本地倉庫添加一個遠程倉庫,固然ssh後面的地址是咱們本地倉庫的地址.
第2行:將本地master分支跟蹤到遠程分支,在git倉庫創建之初就會有一個默認的master分支,固然你若是創建了其餘分支,也能夠用一樣的方法去跟蹤.
對於分支的事情,咱們會在之後細細的講述.
作到拉這一步了嗎?我告訴你,你已經完成目的了哦,如今的git倉庫已是一個遠程倉庫了,
不相信嗎?咱們來測試一次阿:
4.測試
如今本機上看看:
1 software@debian:~/yafeng$ git remote show origin 2 software@172.16.0.30's password: 3 * remote origin 4 Fetch URL: ssh://software@172.16.0.30/~/yafeng/.git 5 Push URL: ssh://software@172.16.0.30/~/yafeng/.git 6 HEAD branch: master 7 Remote branch: 8 master tracked 9 Local ref configured for 'git push': 10 master pushes to master (up to date) 11 software@debian:~/yafeng$
代碼註釋:
第1行:顯示遠程信息
不少看見這仍是會不覺得然的,這又能說明什麼呢?好,那就來點實際的:
在另外一個機子上,遠程clone
1 root@yafeng-VirtualBox:~# ls 2 bin gittest read_temp 3 root@yafeng-VirtualBox:~# git clone ssh://software@172.16.0.30/~/yafeng/.git 4 Cloning into yafeng... 5 software@172.16.0.30's password: 6 remote: Counting objects: 9, done. 7 remote: Compressing objects: 100% (3/3), done. 8 remote: Total 9 (delta 0), reused 0 (delta 0) 9 Receiving objects: 100% (9/9), done. 10 root@yafeng-VirtualBox:~# ls 11 bin gittest read_temp yafeng 12 root@yafeng-VirtualBox:~# cd yafeng/ 13 root@yafeng-VirtualBox:~/yafeng# ls 14 file 15 root@yafeng-VirtualBox:~/yafeng#
代碼註釋:
第3行:就是遠程clone倉庫.很明顯的對比能夠知道多了yafeng目錄,而這個yafeng目錄裏的內容和咱們另一臺機子上的內容同樣
至此,一個簡單的git遠程倉庫就建好了,簡單不,試試吧!!