实验2 git使用

一、实验目的

  • 掌握git 使用
  • 掌握使用Github 作为远程仓库

二、实验任务

  • 练习本地git 操作
  • 用SSH同步本地与Github 仓库

三、实验步骤与结果

  • 创建版本库

    • 创建一个空目录:
      $ mkdir learngit
      $ cd learngit
      $ pwd
      /Users/michael/learngit

    • 通过git init命令把这个目录变成Git可以管理的仓库:
      $ git init
      Initialized empty Git repository in /Users/michael/learngit/.git/

  • 远程仓库

    • 在.ssh目录下打开Git Bash,创建SSH Key:
      $ ssh-keygen -t rsa -C “1119835543@qq.com”
      然后一路回车,使用默认值即可。
      在.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    • 登录Github,打开”settings”,”SSH and GPG keys”页面。然后,点击“Add SSH Key”,填上任意Title,在Key文本框中粘贴id_rsa.pub文件的内容。点“Add Key”,你就应该看到已经添加的Key:
      此处输入图片的描述

    • 添加远程库:
      首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。
      现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:
      $ git remote add origin git@github.com:chenxuean/learngit.git

      下一步,就可以把本地库的所有内容推送到远程库上:
      $ git push -u origin master
      推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样:
      此处输入图片的描述
      从现在起,只要本地作了提交,就可以通过命令:
      $ git push origin master

    • 从远程库克隆
      首先,登陆GitHub,创建一个新的仓库,名字叫gitskills:
      此处输入图片的描述

      我们勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件。创建完毕后,可以看到README.md文件:
      此处输入图片的描述
      现在,远程库已经准备好了,下一步是用命令git clone克隆一个本地库:

      $ git clone git@github.com:chenxuean/gitskills.git

      $ cd gitskills

      $ ls

  • 分支管理

    • 首先,我们创建dev分支,然后切换到dev分支:
      $ git checkout -b dev
      Switched to a new branch ‘dev’

      • 然后,用git branch命令查看当前分支:
        $ git branch

      • 再然后,我们就可以在dev分支上正常提交,比如对readme.txt做个修改,加上一行:Creating a new branch is quick. 然后提交:
        $ git add readme.txt
        $ git commit -m “branch test”

      • 现在,dev分支的工作完成,我们就可以切换回master分支:
        $ git checkout master
        Switched to branch ‘master’

      • 切换回master分支后,再查看一个readme.txt文件,刚才添加的内容不见了!因为那个提交是在dev分支上,而master分支此刻的提交点并没有变。

      • 现在,我们把dev分支的工作成果合并到master分支上:
        $ git merge dev

      • 合并完成后,就可以放心地删除dev分支了:
        $ git branch -d dev
        Deleted branch dev (was fec145a)

      • 删除后,查看branch,就只剩下master分支了:
        $ git branch

  • 实验结果:

    • 本地操作log截图
      此处输入图片的描述

    • Github上commits截图
      此处输入图片的描述

四、实验小结

通过此次实验让我掌握git 的使用和使用Github 作为远程仓库,虽然过程很繁琐,但结果还是好的。