zoukankan      html  css  js  c++  java
  • 【Git入门之六】远程仓库

    【Git入门之六】远程仓库 - JackyStudio - 博客频道 - CSDN.NET

    远程仓库是用来把Git仓库托管到互联网,本地网络或者本机中。

    本文主要介绍在本机中创建远程仓库(Remote repositories)。



    1.创建一个本地远程仓库

    使用git clone --bare来创建一个本地远程仓库。

     

    [cpp] view
    plain
    copy
     
    1. #1个点表示当前目录,2个点表示父目录  
    2. $Snbsp;git clone --bare . ../remote-jackygit.git  
    3. Cloning into bare repository '../remote-jackygit.git'...  
    4. done.  

    然后就可以看到父目录下有个文件夹remote-jackygit.git,里面包含了原来版本库中的.git文件夹。

    那工作区文件呢?一个标准的git仓库包含了源代码和历史信息,因为我们可以在上面直接修改代码。但是远程仓库只有历史信息,并没有源代码。



    2.推送更改到远程仓库

    使用git push推送到远程仓库

     

     
    1. #修改Jackydata01  
    2. $Snbsp;echo "HelloRemoteJackyRepo" > JackyData01  
    3.   
    4. #提交更改  
    5. $Snbsp;git commit -a -m "modify to remotejackyrepo"  
    6. [master e14f4a3] modify to remotejackyrepo  
    7.  1 file changed, 1 insertion(+), 1 deletion(-)  
    8.   
    9. #推送到远程仓库  
    10. $Snbsp;git push ../remote-jackygit.git  
    11. Counting objects: 5, done.  
    12. Delta compression using up to 2 threads.  
    13. Compressing objects: 100% (2/2), done.  
    14. Writing objects: 100% (3/3), 282 bytes | 0 bytes/s, done.  
    15. Total 3 (delta 1), reused 0 (delta 0)  
    16. To ../remote-jackygit.git  
    17.    03150c9..e14f4a3  master -> master  

    3.添加远程仓库

    我们可以用URL来表示一个远程仓库,但是如果这个URL很长,每次推送岂不是很麻烦。所以可以在添加远程仓库的时候顺便给它取个名字。

    添加远程仓库使用git remote add。这里我们给这个远程仓库取名叫testremote,以后我们就可以用testremote来替代remote-jackygit这个远程仓库了。

     

     
    1. #添加一个远程仓库,取名为testremote  
    2. $Snbsp;git remote add testremote ../remote-jackygit.git  

    4.查看远程仓库信息

    这里使用git remote,git remote -v和git remote show即可。

     

     
    1. #查看远程仓库  
    2. $Snbsp;git remote  
    3. testremote  
    4.   
    5. #查看远程仓库详细信息  
    6. $Snbsp;git remote -v  
    7. testremote      ../remote-jackygit.git (fetch)  
    8. testremote      ../remote-jackygit.git (push)  
    9.   
    10. #查看远程仓库详细信息  
    11. $Snbsp;git remote show testremote  
    12. * remote testremote  
    13.   Fetch URL: ../remote-jackygit.git  
    14.   Push  URL: ../remote-jackygit.git  
    15.   HEAD branch: master  
    16.   Remote branch:  
    17.     master tracked  
    18.   Local ref configured for 'git push':  
    19.     master pushes to master (up to date)  

    5.克隆仓库

    把一个远程仓库克隆到本地,,还是一样使用git clone命令。

     

     
    1. #返回上级目录  
    2. $Snbsp;cd ..  
    3.   
    4. #新建jackygit2目录  
    5. $Snbsp;mkdir jackygit2  
    6.   
    7. 进入jackygit2目录  
    8. $Snbsp;cd jackygit2  
    9.   
    10. #将远程仓库克隆到当前目录(jackygit2)  
    11. $Snbsp;git clone ../remote-jackygit.git .  
    12. Cloning into '.'...  
    13. done.  

    不过这回源码和历史记录都会被克隆进jackygit2中,并且remote-jackygit也是jackygit2的远程目录,初始名字为origin。



    6.Push和Pull

    这时我们有3个仓库了。2个本地仓库(jackygit和jackygit2),1个远程仓库(remote-jackygit)。

    如果我们修改了jackygit,那么jackygit2怎么才能获取到最新的版本呢?

    (1)Push:jackygit先将修改内容推送给远程仓库。

     
    1. #修改JackyData01内容  
    2. $Snbsp;echo "Hi Jackygit2" >jackydata01  
    3.   
    4. #提交更改  
    5. $Snbsp;git commit -a -m "hi jackygit2"  
    6. [master 6937dbd] hi jackygit2  
    7.  1 file changed, 1 insertion(+), 1 deletion(-)  
    8.   
    9. #推送到远程仓库,这里就可以直接使用testremote  
    10. $Snbsp;git push testremote  
    11. Counting objects: 5, done.  
    12. Delta compression using up to 2 threads.  
    13. Compressing objects: 100% (2/2), done.  
    14. Writing objects: 100% (3/3), 267 bytes | 0 bytes/s, done.  
    15. Total 3 (delta 1), reused 0 (delta 0)  
    16. To ../remote-jackygit.git  
    17.    8ad0c22..6937dbd  master -> master  

    (2)Pull:jackygit2从远程仓库中拉取最新版本。

    [cpp] view
    plain
    copy
     
    1. #进入jackygit2目录  
    2. $Snbsp;cd ../jackygit2  
    3.   
    4. #拉取远程仓库最新版本  
    5. $Snbsp;git pull origin  
    6. remote: Counting objects: 5, done.  
    7. remote: Compressing objects: 100% (2/2), done.  
    8. remote: Total 3 (delta 1), reused 0 (delta 0)  
    9. Unpacking objects: 100% (3/3), done.  
    10. From d:/jackygit2/../remote-jackygit  
    11.    8ad0c22..6937dbd  master     -> origin/master  
    12. Updating 8ad0c22..6937dbd  
    13. Fast-forward  
    14.  Jackydata01 | 2 +-  
    15.  1 file changed, 1 insertion(+), 1 deletion(-)  
    16.   
    17. #查看版本库状态,干净的  
    18. $Snbsp;git status  
    19. # On branch master  
    20. nothing to commit, working directory clean  

    7.移除远程仓库

    移除远程仓库使用git remote rm即可。
     
    1. #移除testremote  
    2. $git remote rm testremote  

    8.注意

    如果在使用git push的时候,出现如下警告:
    warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'......
    意思是push.default没有设置,使用如下设置即可。作用及其他设置请自行google。
     
    1. git config --global push.default simple  
  • 相关阅读:
    Brain network involved in autonomic functions 与自主功能相关的大脑网络
    Brief summary of classical components of ERP 事件相关成分(ERP)经典成分小结
    ICA & Percentage Variance Account For (PVAF)
    数据处理中白化Whitening的作用图解分析
    Loadings vs eigenvectors in PCA 主成分分析(PCA)中的负荷和特征向量
    主成分分析(PCA)和独立成分分析(ICA)相关资料
    Sketch of heart and QRS complex 心脏及QRS波群简图
    Brain Network visulation in EEG 脑电网络可视化
    Phase Locking Value (PLV) 神经信号的锁相值
    ubuntu16.04下的一些基本操作笔记
  • 原文地址:https://www.cnblogs.com/seven1979/p/4257299.html
Copyright © 2011-2022 走看看