git命令之git remote的用法


 

git remote

git  remote -v

git init

git add xxx

git commit -m 'xxx'

 git remote add origin ssh://software@172.16.0.30/~/yafeng/.git

git push origin master 

git remote show origin

git clone ssh://software@172.16.0.30/~/yafeng/.git

 

要 參與任何一個 Git 項目的協作,必須要了解該如何管理遠程倉庫.遠程倉庫是指托管在網絡上的項目倉庫,可能會有好多個,其中有些你只能讀,另外有些可以寫.同他人協作開發某 個項目時,需要管理這些遠程倉庫,以便推送或拉取數據,分享各自的工作進展.管理遠程倉庫的工作,包括添加遠程庫,移除廢棄的遠程庫,管理各式遠程庫分 支,定義是否跟蹤這些分支,等等.本節我們將詳細討論遠程庫的管理和使用.

  查看當前的遠程庫

  要查看當前配置有哪些遠程倉庫,可以用 git remote 命令,它會列出每個遠程庫的簡短名字.在克隆完某個項目后,至少可以看到一個名為 origin 的遠程庫,Git 默認使用這個名字來標識你所克隆的原始倉庫:

  $ git clone git://github.com/schacon/ticgit.git

  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遠程倉庫就建好了,簡單不,試試吧!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM