美文网首页
Git远程库命令

Git远程库命令

作者: 莫忘初心_倒霉熊 | 来源:发表于2020-02-23 16:01 被阅读0次

    SSH加密设置

    注册GitHub账号,由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

    1. 创建SSH Key。
      在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
    ssh-keygen -t rsa -C "youremail@example.com"
    

    然后一路回车,使用默认值即可,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    1. 登陆GitHub,打开“Account settings”,“SSH Keys”页面:然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:


      image.png

    点“Add Key”,你就应该看到已经添加的Key:

    image.png

    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

    远程仓库相关命令

    • 先有本地库,后有远程库的时候,如何关联远程库,关联远程库命令
    git remote add origin <git@server-name:path/repo-name.git>
    

    添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

    • 删除已关联的远程库:
    git remote rm origin
    
    • 第一次推送master分支的所有内容
    git push -u origin master
    

    把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。
    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    • 把当前分支推送给指定远程库分支
    git push origin <branch-name>
    
    • 克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆
    git clone <git@server-name:path/repo-name.git>
    

    Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。
    使用https除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令。

    • 从远程拉取更新
    git pull
    
    • 将远程分支拉取到本地
    git pull origin dev(dev为远程分支名)
    
    • 查看远程库的信息
    git remote
    

    或者显示更详细的信息

    git remote -v
    
    • 检出指定远程仓库分支到本地本地分支,并切换
    git checkout -b <local-branch-name> origin/<origin-branch-name>
    
    • 建立本地分支和远程分支的关联
    git branch --set-upstream <local-branch-name> origin/<origin-branch-name>//新版本已经不支持,可使用下面的命令
    git branch --set-upstream-to=origin/<origin-branch-name> <local-branch-name>
    
    • 将远程分支拉到本地
    git fetch origin dev(dev即分支名)
    

    多人协作的工作模式

    1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    3. 如果合并有冲突,则解决冲突,并在本地提交;
    4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

    相关文章

      网友评论

          本文标题:Git远程库命令

          本文链接:https://www.haomeiwen.com/subject/yaujqhtx.html