git学习笔记(三)

本篇为git学习笔记的第三篇文章。


一、关联远程仓库

将本地的git仓库托管到远程git仓库上,如github,也可以选择其他的git托管网站,或者自己搭建git服务器,如gitlab。接下来选择使用github来学习如何将本地git仓库托管到github上。

  1. 登录github,新建一个空的仓库

    这里写图片描述

    空仓库新建完成,github会提示我们如何将已经存在的仓库推送到github上。我们看到github提供了两个仓库地址,https//github.com/worm0527/gitTest.git[email protected]:worm0527/gitTest.git。这两个地址有何区别呢?如果使用以https开头的地址进行关联,那么关联时需要输入github的账号和密码,在以后提交代码的时候同样需要输入账号和密码。如果使用SSH地址(以git@开头的地址),使用之前需要配置SSH KEY。配置完key之后,进行关联就不需要输入账号和密码,在以后代码提交的时候同样也不需要输入账号和密码,较使用https更为方便。

  2. 配置SSH KEY

    我们使用SSH地址关联远程仓库,关联之前需要生成和配置ssh key。Windows下打开Git Bash,在命令行中输入

    $ ssh-keygen -t rsa -C 'some comment'

    然后一路回车,在回车过程中会要求设置key的密码,这里不进行设置,直接回车。最后默认回会在C:\Users\你的用户名\ .ssh路径下生成id_rsaid_rsa.pub两个文件。id_rsa中保存的为私钥不能公开,id_rsa.pub为公钥可以随意公开。

    我们也可以使用-f指定文件生成路径和文件名,-C后面表示生成key的注释,在生成的公钥中可以查看。

    ssh-keygen用法如下图:

    ssh-keygen的用法

    接下来,登录github,找到账号的settings,找到SSH and GPG keys配置项,点击New SSH key进行配置。如下图:

    这里写图片描述

    最后点击Add SSH key保存配置。

    我们在平时的工作和学习中经常会碰到配置多个ssh-key的情况,可以参考这篇文章配置多个ssh-key

  3. 将本地的git仓库关联到远程

    配置完ssh-key后,进入本地仓库目录打开Git Bash,然后执行命令:

    $ git remote add origin https://github.com/worm0527/gitTest.git
    $ git push -u origin master

    执行完命令后就将本地的git项目关联到远程仓库了,以后就可以使用git push、git pull进行提交和更新操作了。

  4. 从远程仓库克隆
    代码关联到远程仓库后,其他开发人员就可以从该远程仓库获取代码。使用命令:

    $ git clone https://github.com/worm0527/gitTest.git

二、分支管理

  1. 创建分支
    有的时候开发新的功能,这时候就需要拉取新分支,等开发完成后再合并到主分支上。可以使用命令(如新建dev分支):

    $ git checkout -b dev

    该命令的意思是创建并切换到dev分支。也可以将该条命令分成两条命令执行,如下:

    $ git branch dev        #创建名为dev的新分支
    $ git checkout dev      #切换到dev分支

    创建完成可以通过git branch进行查看,如下图(当前位于dev分支):

    这里写图片描述

  2. 推送分支到远程仓库
    有的时候新功能开发需要多人协作完成,所以就需要将新建的分支推送到远程仓库,供合作的开发人员拉取进行开发使用。

    使用命令:

    $ git push -u origin dev #远程分支名需要与本地分支名称相同,否则会推送失败

    完成后,使用命令:

    $ git branch -a

    可以查看远程存在的分支,如下图:

    这里写图片描述
    如图,我们看到dev分支已经推送到远程仓库。

    通过以上操作后,我们就可以在该分支上进行协作开发。以后就可以直接使用git push进行代码的推送、git pull进行代码的更新。

    其他开发人员,只要使用命令:

    $ git checkout -b dev origin/dev

    便可以将该分支拉取到本地。

    注意:

    我们同样可以使用git push origin dev命令推送新建分支,但是这样在以后的操作中就不能直接使用git push和git pull进行代码的推送和更新,直接使用会导致操作失败,会提示如下信息:
    这里写图片描述 该提示信息告诉我们当前分支没有设置upstream,可以再次使用命令git push -u origin dev进行推送,其实该命令就是git push –set-upstream origin dev的简写。更为详细的解释,可参考Git push和pull的默认行为

  3. 合并分支

    开发完成并测试完毕后需要将dev分支的代码合并到master主分支。首先切换到master分支,然后执行命令:

    $ git merge dev
  4. 删除分支

    新功能上线完毕后就可以将该分支删除了。

    删除远程分支可以使用命令:

    $ git push origin :dev   #删除远程分支

    或者

    $ git push origin --delete dev #删除远程分支

    删除远程分支后再删除本地分支,使用命令:

    $ git branch -d dev #删除本地分支
  5. 重命名远程分支

    如,我们需要将远程的dev分支重命名为dev1

    可以先删除远程分支:

    $ git push origin :dev   #删除远程分支

    然后,重命名本地分支:

    $ git branch -m dev dev   #重命名本地分支

    最后,将重命名后的本地分支推动到远程:

    $ git push -u origin dev1   #将重命名后的分支推送到远程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章