最近一直在學習使用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遠程倉庫就建好了,簡單不,試試吧!!