美文网首页手把手教你学git成长励志重点关注
有关Git的那些事儿(七)——删除文件与远程仓库

有关Git的那些事儿(七)——删除文件与远程仓库

作者: 栗子西西 | 来源:发表于2019-01-10 22:08 被阅读35次

    删除文件

    删除文件有两种方式,一种是直接删掉工作区的文件,还有一种是在命令行输入rm <file>进行删除。我们来练习比较生疏的命令行操作哈。在命令行中输入如下:

    rm air.txt
    

    命令行没有任何返回,但是你会发现,工作区中air.txt文件消失了,就像变魔术一样。

    上节课提到,如果不知道使用什么指令,可以输入git status,问问Git的建议。

    git status
    

    命令行回复如下:

    On branch master
    Changes not staged for commit:
      (use “git add/rm <file>…” to update what will be committed)
      (use “git checkout — <file>…” to discard changes in working directory)
    
        deleted:    air.txt
        modified:   love.txt
    
    no changes added to commit (use “git add” and/or “git commit -a”)
    
    1. 看提示,如果你误删文件,可以使用git checkout -- <file>恢复文件。
    git checkout —- air.txt
    

    你会神奇地发现,文件又奇迹般地回来了。

    1. 如果你想将版本库中的文件也删除掉,让版本库与工作区达成一致,可以使用git rm <file>指令。
    git rm air.txt
    

    命令行回复如下:

    rm ‘air.txt’
    

    再输入:

    git commit -m “delete air.txt”
    

    命令行回复如下:

    master 2b89ecc] delete air.txt
     1 file changed, 1 deletion(-)
     delete mode 100644 air.txt
    

    此刻,该文件就从版本库消失了。

    远程仓库

    咱们之前都是在本地创建版本库玩儿。现在,该学学git这种分布式管理系统的精华了。此时,我们迫切需要一个服务器,让我们可以进行远程操作。好在,有一个神奇的网站,名叫GitHub。这个网站就是专门用来托管Git仓库的。只需要注册一个账号,就可以使用Git的远程仓库啦。

    设置Git账号

    本地的Git仓库和GitHub仓库之间传输需要通过SSH加密。下面按步骤进行设置操作。

    1. 创建SSH Key。

    首先查看工作区目录,有没有.ssh目录。如果有,再查看这个目录下有没有id_rsaid_rsa.pub两个文件,如果有,跳到第二步。如果没有,在命令行中从输入如下指令,创建SSH Key:

    ssh-keygen -t rsa -C “youremail@example.com”
    

    命令行回复如下:

    Generating public/private rsa key pair.
    

    之后直接按回车即可。

    接下来,可以在用户主目录下找到.ssh目录。如果没有找到,mac中使用组合键command+shift+.,可以显示被隐藏的文件或文件夹。发现里面有id_rsaid_rsa.pub两个文件,它俩是SSH Key的秘钥对,其中id_rsa是私钥,不能泄露给别人,id_rsa.pub是公钥,可以告诉任何人。

    1. 登录GitHbu,点击头像上的Setting,之后点击SSH and GPG keys,在Title中填入任意字符串,在Key文本框中粘贴id_rsa.pub中的内容:
    SSH

    点击Add key,可以看到已经添加的Key。

    添加远程库

    我们已经在本地创建了Git仓库,现在需要在GitHub中创建一个Git仓库,这样就可以让两个仓库进行远程同步,GItHub中的仓库可以作为云备份。

    1. 登录GitHub,点击“Repositories”—“New”,创建一个新仓库:
    1. 在”Repository name”中填入“xxlgit”,其它默认设置,点击“Create repository”,成功创建一个仓库。

    GitHub告诉我们,可以从创建新的文件,也可以与本地仓库关联,将本地仓库的内容推送到GitHbu仓库中。

    咱试试如何将本地仓库xxlgit中的内容推送到GitHub仓库中。

    1. 首先,将本地仓库与远程仓库关联起来。在本地xxlgit仓库下运行下面指令:
    git remote add origin git@github.com:xxlquanrou/xxlgit.git
    

    请将xxlquanrou换成你自己的GitHub账户名,否则你关联的是我的远程仓库。然而,我这里没有你的SSH Key公钥,所以你的内容推送不过来。

    远程库的名字是origin,这是Git默认的。不必修改,这样大家公认比较好记。

    1. 将本地仓库的所有内容推送到远程仓库中。
    git push -u origin master
    

    命令行回复:

    numerating objects: 18, done.
    Counting objects: 100% (18/18), done.
    Delta compression using up to 4 threads
    Compressing objects: 100% (12/12), done.
    Writing objects: 100% (18/18), 1.41 KiB | 240.00 KiB/s, done.
    Total 18 (delta 3), reused 0 (delta 0)
    remote: Resolving deltas: 100% (3/3), done.
    To github.com:xxlquanrou/xxlgit.git
     * [new branch]      master -> master
    Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’.
    

    第一次推送master分支,由于远程仓库是空的,所以我们加上了-u参数,这样Git不仅将本地的master分支内容推送到远程库的master分支中,还会把本地master和远程master关联起来,方便以后推送时候可以简化指令。

    现在,就可以在GitHub页面中看到远程库的内容了,跟本地仓库中的一模一样。

    1. 现在,如果本地做了提交,只需要下列命令即可推送到远程:
    git push origin master
    

    到现在为止,我们才算真正拥有了分布式版本库。

    小结时间到啦~

    1. 删除工作区的文件,可以使用命令rm <file>
    2. 如果想同时删除版本库中的文件,先使用git rm <file>,再使用git commit -m指令。
      3.如果想从版本库中恢复工作区的文件,使用git checkout -- <file>
    3. 创建SSH Key。
    4. 本地库关联远程库:git remote add origin git@github.com:xxlquanrou/xxlgit.git,其中xxlquanrou换成你自己的GitHub账户名,xxlgit换成你自己的远程仓库名字。
    5. 关联后,使用git push -u origin master进行首次master分支的推送。
    6. 之后的每次推送,使用git push origin master即可。

    本小节到此结束。下节更精彩噢~

    相关文章

      网友评论

        本文标题:有关Git的那些事儿(七)——删除文件与远程仓库

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