zoukankan      html  css  js  c++  java
  • 本地Git仓库同步到Bitbucket 远程Git仓库

    转载自:http://blog.csdn.net/lue2009/article/details/46553829

    本地仓库内容可以和多个远程仓库同步,本地仓库出问题或者远程仓库其中一个有问题,那么剩余的仓库还是可以使用的,这就是分布式管理的魅力所在 ! O(∩_∩)O~

    说了那么多废话,下面我们开始具体的操作:

    (1) 先在github.com或bitbucket.org 创建一个仓库,仓库名就是项目名(一般有依赖工程,都放在这个项目名里面的)

    (2) 切换到你的本地Git仓库

    Eg: cd到当前AS项目目录下,执行git init

    $ cd  /f/AndroidStudioWks/newelderly_bj
    
    $ git init

    执行完git init后 会在当前目录产生 .git 文件夹(如果之前有执行过git init 就会有.git文件夹,那就不必执行git init,git init 命令执行一次就可以,注意不要重复执行)

    (3) 查看本地仓库是否有远程仓库

    $ git remote -v

    如果本地仓库是刚创建的是,执行命令后是没有任何结果的。 
    如果是通过git clone的方式创建的,那么此时就会显示 origin 
    执行git命令时当前目录必须在 git 仓库目录(除了git init命令外)之内,否则会提示:

    Fatal:Not a git repository (or any of the parent diretories): .git

    为当前AS项目本地仓库添加添加远程仓库,(可以添加多个远程仓库)

    要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,执行命令

    $ git remote add [shortname] [url]

    Eg:

    git remote add pb git@bitbucket.org:paul/newelderly_bj.git 

    (此url是ssh协议的,本来bitbucket默认是https,这里之前配置ssh访问,所以可以直接写成git@…..

    Git支持许多数据传输协议: git://协议,http(s)://协议或ssh协议 
    Eg:

    git://github.com/paulboone/ticgit.git
    
    https://username@bitbucket.org/username/xxx.git
    
    ssh://git@bitbucket.org/username/xxxx.git (git@bitbucket.org:username/xxxxx.git )

    (5) 执行 git remote -v 查看当前远程仓库

    $ git remote

    可以加上 -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址

    如果有多个远程仓库,此命令将全部列出。

    比如在 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    git@github.com:mojombo/grit.git

    只有 origin 用的是 SSH URL 链接,所以也只有这个仓库我能推送数据上去,其它的需要密码的。

    (6) 将本地文件纳入版本管理中

    在纳入版本管理之前,有些文件不需要纳入,那么需要提前在 .gitignore文件指明忽略的文件或文件夹(如果没有此文件则新建)

    $ git add <file>
    
    $ git commit -m 'create project'

    (7) 推送数据到远程仓库

    $ git push [remote-name] [branch-name]

    remote-name 是之前添加远程仓库指定的shortname,而branch-name 默认是master

    如果不知道当前的最新的branch-name, 可以执行 git status 查看 
    Eg:

    $git status
      On branch master

    只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据, 
    这条命令(git push)才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。 
    你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。 

    (8) 远程仓库抓取数据

    $ git fetch [remote-name]

    fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前分支

    (9) 查看远程仓库信息

    $ git remote show [remote-name]

    会显示出: 远程分支有哪些分支没同步到本地; 本地仓库缺省推送的分支是什么

    (10) 远程仓库的删除和重命名

    远程仓库重命名

    $ git remote rename [old_remote-name] [new_remote-name]

    重命名后远程分支名会发生变化 Eg:pb/master -> paul/master

    远程仓库的删除

    $ git remote rm [remote-name]
     
  • 相关阅读:
    Haproxy图解
    Keeplived 配制图解
    日志文件 的管理 logrotate 配置
    Haproxy+MYSQL 负载均衡 原创
    MySQL内存----使用说明全局缓存+线程缓存) 转
    MYSQL内存--------启动mysql缓存机制,实现命中率100% 转
    MYSQL SQL 审核工具 (inception安装步骤)
    MHA手动切换 原创4 (非交互式切换)
    MHA手动切换 原创2 (主参与复制)
    MHA手动在线切换主 原创3(主不参与复制)
  • 原文地址:https://www.cnblogs.com/winterfells/p/7471066.html
Copyright © 2011-2022 走看看