• Git 远程仓库


    仓库

    Git 远程仓库为多人协作开发提供了极大的便捷,前面的 Git 操作都是在本地仓库上进行的,远程仓库是托管在因特网的或者自己搭建的 Git 服务,一个本地可以跟踪多个远程仓库,远程有读写权限,在 GitHub(最流行代码托管网站)上直接克隆的远程仓库没有写的权限,Fork 到自己帐户,则有读写权限。

    $ git remote
    

    这个命令是管理远程仓库的,几个常用命令和选项

    1. git remote 列出当前的远程仓库
    2. git remote -v 列出所有远程仓库和URL
    3. git remote add 添加远程仓库
    4. git remote remove 删除远程仓库
    5. git remote rename 远程仓库改名

    克隆的仓库会有默认的远程仓库叫 origin, 并会创建默认 master 分支,跟踪远程仓库的默认分支 origin/master,远程仓库的分支要加上远程仓库名,以区分本地分支。
    本地仓库添加远程仓库后需要先拉取远程仓库的提交,才可以向远程仓库推送

    $ git fetch
    

    从远程仓库拉取数据,可以用 checkout 签出分支,也可以用 merge 合并到本地分支

    $ git pull
    

    从远程仓库拉取数据,并合并到默认分支

    $ git push
    

    本地修改提交后,用这个命令推送到远程仓库,其他人就可以看到你的提交和修改了
    这三个命令都可以在后面加上远程仓库名拉取、推送到指定的远程仓库

    分支

    远程仓库也有多个分支,使用 git branch -a 列出所有分支

    $ git branch -a
    * master
      remotes/m/master
      remotes/origin/master
    

    显示完整路径的是远程分支,中间的是远程仓库名,后面为远程分支名
    选项 -vv 显示本地分支跟踪的远程分支

    $ git branch -vv
    * master c4ffc28 [origin/master] new
    

    本地分支可以自由切换跟踪的远程分支

    1. git checkout --track origin/master 本地新建 master 分支,并跟踪远程分支 origin/master
    2. git checkout -b new origin/master 本地新建 new 分支,跟踪远程分支 origin/master
    3. git branch -u origin/master 设置当前分支跟踪的远程分支
    $ git branch -u  m/master
    Branch master set up to track remote branch master from m.
    $ git branch -vv
    * master c4ffc28 [m/master: ahead 2] new
    

    如果本地分支设置了远程分支,查看跟踪的远程分支时有 behind 则需要先 pull 拉取更新,才能向远程分支推送提交

    $ git branch -vv
    * master 2b3f489 [origin/master: ahead 7, behind 8] Merge branch 'dev'
    
    远程分支新建、删除

    在远程新建分支:git push <远程仓库><本地分支>:<远程分支>

    $ git push m master:new
    Counting objects: 10, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (5/5), done.
    Writing objects: 100% (5/5), 663 bytes | 0 bytes/s, done.
    Total 5 (delta 2), reused 0 (delta 0)
    To git@github.com:Pythians/bbs-catch.git
     * [new branch]      master -> new
    

    删除远程仓库分支: git push <远程仓库> --delete <远程分支>

     $ git push m --delete new
    To git@github.com:Pythians/bbs-catch.git
     - [deleted]         new
    

    当然也可以在托管的网站上新建、删除、修改默认远程分支,具体操作的托管的网站来。

    远程分支一般用来和其他人合作开发,难免有同时修改的情况,合并就需要处理可能的冲突,总之在合并前,沟通好可以减少不必要的麻烦。

    作者:H·K
    出处:http://www.cnblogs.com/pythian/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    20210608日报
    数据结构-四则表达式运算
    软工博客归档工具(自用)
    阅读笔记6
    阅读笔记4
    阅读笔记3
    阅读笔记2
    阅读笔记5
    阅读笔记1
    大二下第16周总结
  • 原文地址:https://www.cnblogs.com/pythian/p/4780438.html
Copyright © 2020-2023  润新知