精华内容
下载资源
问答
  • 远程仓库管理

    2019-09-11 21:29:38
    Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。具体怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并...

    继上一遍:https://blog.csdn.net/weixin_45105327/article/details/100117829

    本地密钥设置

    Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。具体怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。

    第1步:

    创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有 id_rsa 和 id_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
    在这里插入图片描述
    如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsa 和 id_rsa.pub 两个文件,这两个就是SSH Key的秘钥对, id_rsa 是私钥,不能泄露出去, id_rsa.pub 是公钥,可以放心地告诉任何人。
    在这里插入图片描述
    在这里插入图片描述

    第2步:

    登陆GitHub,打开“Account settings”,“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴 id_rsa.pub 文件的内容:
    在这里插入图片描述
    在这里插入图片描述
    写完之后,点击Add SSH key,就可以看到添加的key了。

    • 为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
      当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

    添加远程仓库

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在Repository name填入你要创建的创库名 ,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
    在这里插入图片描述
    目前,在GitHub上的这个仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
    现在,我们根据GitHub的提示,在本地的 仓库下运行命令:
    在这里插入图片描述
    把当前文件夹的代码与远程库进行关联:
    在这里插入图片描述
    添加后,远程库的名字就是 origin ,这是Git默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库。
    下一步,就可以把本地库的所有内容推送到远程库上:
    在这里插入图片描述
    把本地库的内容推送到远程,用 git push 命令,实际上是把当前分支 master 推送到远程。
    由于远程库是空的,我们第一次推送 master 分支时,加上了 -u 参数,Git不但会把本地的 master分支内容推送的远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令。
    下面是最终的成果, git上与本地的本间一模一样, 而且每次的修改都有相应的提示信息:
    在这里插入图片描述
    从现在起,只要本地作了提交( 即add之后再commit了 ),就可以通过命令:
    在这里插入图片描述
    把本地 master 分支的最新修改推送至GitHub,现在,你就拥有了真正的分布式版本库!

    展开全文
  • 远程仓库管理1. 克隆到本地2. 添加上传的文件 一. 本地仓库管理 基本信息设置 初始化后目录下会有一个 .git的隐藏目录 $ git config --global user.name '用户名' $ git config --global user.email '邮箱' $ mkdir...

    在这里插入图片描述

    官方文档:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8

    一. 本地仓库管理

    基本信息设置
    初始化后目录下会有一个 .git的隐藏目录

    $ git config --global user.name '用户名'
    $ git config --global user.email '邮箱'
    $ mkdir test
    $ cd test
    $ git init			//初始化
    

    1. 向仓库上传文件

    跟linux命令一样

    $ touch test.php
    $ git add test.php
    $ git status test.php		//添加暂存区
    $ git commit -m 'add test.php'	//提交到仓库
    

    在这里插入图片描述

    2. 修改仓库文件

    $ vim test.php
    $ git status
    $ git add test.php
    $ git status test.php
    $ git commit -m '第一次修改test.php'
    

    修改后的文件会提示被修改

    在这里插入图片描述

    3. 删除仓库文件

    $ git rm test.php	//删除
    $ git commit -m '描述'
    

    在这里插入图片描述

    二. 远程仓库管理

    其工作原理跟本地仓库一样,将 工作区提交暂存区,再将暂存区提交到git仓库

    1. 克隆到本地

    $ git clone 仓库地址
    

    在这里插入图片描述

    2. 添加上传的文件

    vim a.php
    git status
    git add a.php
    git commit -m '描述'	
    git push		//同步
    

    在这里插入图片描述
    但是正常情况下会要求输入账户密码
    还可能提示没有权限 修改 config文件的origin尝试解决问题

    在这里插入图片描述

    展开全文
  • Git 远程仓库管理

    2018-02-23 17:23:39
    Git 远程仓库管理 之前的文章介绍了如何对本地仓库进行管理,并在本地创建了一个Git仓库。要参与一个git项目的写作,就必须了解如何管理远程仓库,接下来主要介绍如何进行远程仓库的管理。 1 在github...

    Git 远程仓库管理

    之前的文章介绍了如何对本地仓库进行管理,并在本地创建了一个Git仓库。要参与一个git项目的写作,就必须了解如何管理远程仓库,接下来主要介绍如何进行远程仓库的管理。

    1 在github创建远程仓库

    登录github,有网站右上角找到”new repository”按钮,创建一个新的仓库


    700
    create a new repository

    在Repository name中填写MyGitTest,其默认即可,而后点击create repository,这样就创建了一个新的github远程仓库。在其中新建一个README.md说明文件以及一个测试文键test_1

    2 clone操作

    从远程仓库克隆一个版本库到本地仓库,指令格式:

    git clone 版本库地址
    

    其中版本库地址支持多种协议:http(s)、ssh、git等
    示例
    将上述创建的MyGitTest版本库clone到本地:

    $ git clone git@github.com:zhoushuo19/MyGitTest.git
    

    3 remote操作

    为了操作远程仓库,首先需要使用remote add指令将远程仓库的url以及定义的别名添加到本地的远程仓库列表中。如下列出了,对远程仓库列表的操作指令:

    git remote add alias url    #添加远程仓库
    git remote                  #列出所有远程仓库的别名
    git remote -v               #列出所有远程仓库的别名以及对应url
    git remote rm alias         #删除指定远程仓库
    git remote rename old-alias new-alias   #重命名
    git remote set-url alias url    #更新url
    

    示例
    执行如下指令,添加新的远程仓库:

    $ git remote add origin git@github.com:user_name/MyGitTest.git      #添加远程仓库
    $ git remote -v     #列出所有远程仓库
    origin  git@github.com:zhoushuo19/MyGitTest.git (fetch)
    origin  git@github.com:zhoushuo19/MyGitTest.git (push)
    

    需要注意
    1)如果本地版本库MyGitTest是通过clone指令从远程仓库获取到的,那么在远程仓库列表中已经设置了别名origin与远程仓库url的对应关系,不需要再次执行git remote add origin ...指令
    2)上述指令中git@github.com:user_name/MyGitTest.git就是远程仓库的网络地址,这里一定要将其修改为你自己的地址,不然你将无法将本地仓库推送到远程仓库。

    4 fetch操作:

    当远程仓库中有了更新(commit),需要将这些更新抓取到本地,这时就需要使用git fetch指令。指令格式:

    git fetch remote-name
    

    上述命令会将远程仓库中的所有分支全部取回,并更新到本地对应的分支上。当仅需要从远程仓库取回某个分支时,就需要指定分支名,指令格式:

    git fetch remote-name branch-name
    

    远程分支对应的本地分支名的形式是:远程主机名/分支名,例如origin主机上的master分支,对应到本地,分支名就是origin/master。而后,我们就可以在本地访问该远程分支的所有分支:1)将其中某个分支合并到本地(merge);2)直接取出某个分支查看其中的内容(checkout)
    示例
    1)在远程仓库MyGitTest中添加一个test_2文件,使用git fetch指令将远程仓库取回到本地:

    $ git fetch origin master
    

    2)查看本地所有分支

    $ git branch -a     #查看本地所有分支
    * master
      remotes/origin/master
    

    其中master是当前的本地分支,remotes/origin/master是远程分支在本地对应的分支
    3)查看当前本地分支中的内容,而后检出获取到的远程分支,再次查看其中的内容

    $ ls
    README.md  test_1
    $ git checkout origin/master    #切换到获取的远程分支
    $ ls
    README.md  test_1  test_2
    

    4)将获取的远程分支合并到本地分支

    $ git checkout master       #切换到本地分支
    $ git merge origin/master   #将获取的远程分支合并到本地分支
    Updating 52bba6b..dbfe1cf
    Fast-forward
     test_2 | 1 +
     2 files changed, 3 insertions(+)
     create mode 100644 test_2
    $ ls    #查看内容
    README.md  test_1  test_2
    

    5 pull操作

    上述fecth指令只是将远程仓库中的数据拉取到本地仓库,并不会将其合并到当前的工作分区,合并操作是需要后续使用merge指令来进行合并的。
    git pull指令的功能是,抓取远程仓库的某个分支合并到本地仓库的指定分支上。这是比较常用的方式(至少我这么认为)。指令格式:

    git pull remote-name remote-branch:local-branch
    

    远程分支与当前分支进行合并时,指令格式:

    git pull remote-name remote-branch
    

    本地分支与远程分支之间,有一种追踪关系,比如在git clone时,本地分支默认与远程仓库的同名分支建立追踪关系,例如本地master分支自动追踪origin/master分支。如果当前分支与远程分支存在追踪关系,指令格式简化为:

    git pull remote-name
    

    如果当前分支只有一个追踪分支,那么主机名都可以省略:

    git pull
    

    示例
    在github端修改test_1文件,在本地执行执行如下指令,获取到远程仓库中的更新:

    $ git pull
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (3/3), done.
    From github.com:zhoushuo19/MyGitTest
       1e7813a..e3aca3c  master     -> origin/master
    Updating 1e7813a..e3aca3c
    Fast-forward
     test_1 | 1 +
     1 file changed, 1 insertion(+)
    

    6 push操作

    git push是将本地分支的更新推送到远程仓库的指令,指令格式与git pull指令类似:

    git push remote-name local-branch:remote-branch
    

    忽略远程分支,则表示将本地分支推送与之存在”追踪关系”的远程分支,如果该分支不存在,则新建该远程分支:

    git push remote-name local-branch
    

    如果忽略本地分支,则表示删除指定的远程分支:

    git push remote-name :remote-branch
    等同于
    git push remote-name --delete remote-branch
    

    如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略

    git push remote-name
    

    如果当前分支只有一个追踪分支,那么主机名都可以省略:

    git push
    

    示例
    修改本地仓库中的test_1文件,并将该修改推送到远程仓库:

    $ git add test_1        #添加文件到stage 
    $ git commit -m“update test_1” test_1 #提交到本地仓库
    [master ed8cf15] update test_1
    1 file changed, 1 insertion(+)
    $ git push #推送到远程仓库

    展开全文
  • git修改远程仓库地址 方法有三种: 1.修改命令 git remote origin set-url [url] 2.先删后加 git remote rm origin ...git 远程仓库管理 要参与任何一个 Git 项目的协作,必须要了解该如何管理
    git修改远程仓库地址 


    方法有三种:

    1.修改命令

    git remote origin set-url [url]

    2.先删后加

    git remote rm origin
    git remote add origin [url]

    3.直接修改config文件



    git 远程仓库管理

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展.管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分 支,定义是否跟踪这些分支,等等.本节我们将详细讨论远程库的管理和使用.

      查看当前的远程库

      要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库:

      $ git clone git://github.com/schacon/ticgit.git

      Initialized empty Git repository in /private/tmp/ticgit/.git/

      remote: Counting objects: 595, done.

      remote: Compressing objects: 100% (269/269), done.

      remote: Total 595 (delta 255), reused 589 (delta 253)

      Receiving objects: 100% (595/595), 73.31 KiB | 1 KiB/s, done.

      Resolving deltas: 100% (255/255), done.

      $ cd ticgit

      $ git remote

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

      $ git remote -v

      origin git://github.com/schacon/ticgit.git如果有多个远程仓库,此命令将全部列出.比如在我的 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 链接,所以也只有这个仓库我能推送数据上去(我们会在第四章解释原因).

      添加远程仓库

      要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:

      $ git remote

      origin

      $ git remote add pb git://github.com/paulboone/ticgit.git

      $ git remote -v

      origin git://github.com/schacon/ticgit.git

      pb git://github.com/paulboone/ticgit.git现在可以用字串 pb 指代对应的仓库地址了.比如说,要抓取所有 Paul 有的,但本地仓库没有的信息,可以运行 git fetch pb:

      $ git fetch pb

      remote: Counting objects: 58, done.

      remote: Compressing objects: 100% (41/41), done.

      remote: Total 44 (delta 24), reused 1 (delta 0)

      Unpacking objects: 100% (44/44), done.

      From git://github.com/paulboone/ticgit

      * [new branch] master -> pb/master

      * [new branch] ticgit -> pb/ticgit现在,Paul 的主干分支(master)已经完全可以在本地访问了,对应的名字是 pb/master,你可以将它合并到自己的某个分支,或者切换到这个分支,看看有些什么有趣的更新.

      从远程仓库抓取数据

      正如之前所看到的,可以用下面的命令从远程仓库抓取数据到本地:

      $ git fetch [remote-name]此命令会到远程仓库中拉取所有你本地仓库中还没有的数据.运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个 分支合并到本地,或者只是取出某个分支,一探究竟.(我们会在第三章详细讨论关于分支的概念和操作.)

      如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下.所以,git fetch origin 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新).有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并.(说 明:事先需要创建好远程的仓库,然后执行:git remote add [仓库名] [仓库url],git fetch [远程仓库名],即可抓取到远程仓库数据到本地,再用git merge remotes/[仓库名]/master就可以将远程仓库merge到本地当前branch.这种分支方式比较适合独立-整合开发,即各自开发测试好后 再整合在一起.比如,Android的Framework和AP开发.

      可以使用--bare 选项运行git init 来设定一个空仓库,这会初始化一个不包含工作目录的仓库.

      $ cd /opt/git

      $ mkdir project.git

      $ cd project.git

      $ git --bare init这时,Join,Josie 或者Jessica 就可以把它加为远程仓库,推送一个分支,从而把第一个版本的工程上传到仓库里了.)

      如果设置了某个分支用于跟踪某个远端仓库的分支(参见下节及第三章的内容),可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支.在日常工作中我们经常这么用,既快且好.实际上,默认情况下 git clone 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支).所以一般我们运行 git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中当前分支.

      推送数据到远程仓库

      项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库.实现这个任务的命令很简单: git push [remote-name] [branch-name].如果要把本地的 master 分支推送到 origin 服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:

      $ git push origin master只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务.如果在你推数据前,已经有其他人推送了若干更新,那 你的推送操作就会被驳回.你必须先把他们的更新抓取到本地,并到自己的项目中,然后才可以再次推送.有关推送数据到远程仓库的详细内容见第三章.

      查看远程仓库信息

      我们可以通过命令 git remote show [remote-name] 查看某个远程仓库的详细信息,比如要看所克隆的origin 仓库,可以运行:

      $ git remote show origin

      * remote origin

      URL: git://github.com/schacon/ticgit.git

      Remote branch merged with 'git pull' while on branch master

      master

      Tracked remote branches

      master

      ticgit除了对应的克隆地址外,它还给出了许多额外的信息.它友善地告诉你如果是在 master 分支,就可以用git pull 命令抓取数据合并到本地.另外还列出了所有处于跟踪状态中的远端分支.

      实际使用过程中,git remote show 给出的信息可能会像这样:

      $ git remote show origin

      * remote origin

      URL: git@github.com:defunkt/github.git

      Remote branch merged with 'git pull' while on branch issues

      issues

      Remote branch merged with 'git pull' while on branch master

      master

      New remote branches (next fetch will store in remotes/origin)

      caching

      Stale tracking branches (use 'git remote prune')

      libwalker

      walker2

      Tracked remote branches

      acl

      apiv2

      dashboard2

      issues

      master

      postgres

      Local branch pushed with 'git push'

      master:master它告诉我们,运行 git push 时缺省推送的分支是什么(译注:最后两行).它还显示了有哪些远端分支还没有同步 到本地(译注:第六行的 caching 分支),哪些已同步到本地的远端分支在远端服务器上已被删除(译注:Stale tracking branches 下面的两个分支),以及运行 git pull 时将自动合并哪些分支(译注:前四行中列出的 issues 和 master 分支).(此命令也可以查看到本地分支和远程仓库分支的对应关系.)

      远程仓库的删除和重命名

      在新版 Git 中可以用 git remote rename 命令修改某个远程仓库的简短名称,比如想把 pb 改成 paul,可以这么运行:

      $ git remote rename pb paul

      $ git remote

      origin

      paul注意,对远程仓库的重命名,也会使对应的分支名称发生变化,原来的 pb/master 分支现在成了paul/master.

      碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库,可以运行 git remote rm 命令:

      $ git remote rm paul

      $ git remote

      origin
    展开全文
  • github远程仓库管理+hexo博客迁移git远程仓库管理使用git上传到github从远程克隆带本地踩坑点hexo博客迁移 git远程仓库管理 使用git上传到github 建议:这个过程中可能会遇到一些问题,你把这篇通读完,可能有你遇到...
  • 文章目录git远程仓库管理之本地库修改变更或切换远程库连接Prerequisite先决条件demoWay 1 命令修改远程地址0x01 查看当前远程库0x02 设置新远程库,命令:git remote set-url origin url0x03 查看当前远程库地址,...
  • git远程仓库管理

    2018-04-09 22:15:07
    git remote # 仅列出远程仓库名 # 查看某个远程仓库的详细信息 git remote show [remote-name] 2、 添加remote git remote add remote_name remote_url # 从远程仓库抓取数据 $ git fetch [remote-name] ...
  • git 远程仓库管理

    2016-02-22 10:19:00
    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或...
  • ubuntu-git远程仓库管理

    2015-04-09 19:46:58
    在ubuntu下以git管理远程仓库管理coding.net为例 一,ubuntu下安装git sudo apt-get install git  git --version //查看版本 git //查看所有git命令 接着继续命令 //用户名和邮件,只用于标识是谁提交...
  • Git 本地仓库与远程仓库管理的常用操作1. 本地仓库常用操作$ git add <file> # 将工作文件修改提交到本地暂存区 $ git add . # 将所有修改过的工作文件提交暂存区 $ git commit -m "Commit Message" # 提交修改(即...
  • GitHub 远程仓库管理

    2019-04-27 15:33:38
    配置远程仓库 GitHub就是一个服务器,可以直接保存各个客户端发送来的数据。 如果要想进行数据保存操作,必须要使用ssh的通讯模式,配置如下: 1.启动Git Bash; 进入git管理的项目: 右键...
  • 基于ARM9嵌入式微处理器的远程仓库管理系统设计
  • [root@vm1 ~]# yum install -y curl openssh-server \ openssh-clients postfix cronie policycoreutils-python # 10.x以后开始依赖 policycoreutils-python [root@vm1 ~]# systemctl start postfix ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,129
精华内容 2,851
关键字:

远程仓库管理