结对编程(一)

还没写完
一、实验目标:
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容:
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)利用Github使用自己的远程仓库;

三、实验记录:
(1)新建一个简单的项目,命名为My-travel-plans,在这个项目内新建一些文件。
运行 git init 命令会初始化 Git 跟踪所有内容会用到的所有必要文件和目录。
输出:"Initialized empty Git repository in",后面提示符中出现了master。
说明:文件都存储在叫做 .git的目录下。Git 会将所有 commit 记录在这里,并跟踪所有内容。
结对编程(一)_第1张图片

(2)执行以下指令:git add .,监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改以及新文件,但不包括被删除的文件。
再输入:git commit -m "my-travel-plans first commit",将暂存区的代码提交到本地仓库,最后将本地仓库的代码推送到远程服务器端。
结对编程(一)_第2张图片

(3)利用托管 git 项目
    在 GitHub 的加入页面 注册一个帐户,登录 GitHub,你将位于主页:下拉列表中的New repository链接会将你转至仓库创建页面。填写仓库名称。创建一个名为 "zrh" 的仓库。
 注意:取消勾选"Initialize this repository with the README"(使用 README 初始化此仓库)选项,因为不需要 GitHub 添加一个 README 文件。
点击"Create repository"(创建仓库)按钮,以创建你的远程仓库!
结对编程(一)_第3张图片

(4)利用git remote命令创建连接 ,用于创建和管理远程仓库。所以我将使用一个命令,在我的本地仓库与 GitHub 帐户上刚创建的远程仓库之间创建连接。
执行 :git remote add origin https://github.com/vkook1230/zrh.git
说明:
1.使用了origin,作为 在github建立的仓库。
2.添加了仓库的完整路径(即 Web 上的远程仓库 URL)。
使用git remote -v来验证我已经正确添加了远程仓库:
结对编程(一)_第4张图片

(5)把本地库的所有内容推送到远程库上,注意输入github的用户名和密码。推送 commits,将本地 commits 推送到远程仓库,需要使用git push 命令。
输入:git push origin master ,将commit 推送到 GitHub 上的远程仓库:
说明:origin是远程仓库的简写名,master是推送的 commit 的分支。
结对编程(一)_第5张图片

(6)查看远程仓库里的文件,显示仓库中有:一个 commit,一个分支,一名贡献者。
结对编程(一)_第6张图片

检查本地仓库,查看推送更改后的变化。运行以下命令:
git log --oneline -- graph --decorate --all
说明: origin/master 为跟踪分支, 说明我们远程仓库 origin有一个 master分支,指向 commit 1475f85(并包含 1475f85 前的所有 commit ),可以在本地仓库跟踪远程仓库的信息。

(7)从远程仓库拉取修改
首先,修改远程仓库里的文件,再取回远程仓库的commit,使用git pull拉取更改。
更改界面:可通过preview changes查看更改内容。
结对编程(一)_第7张图片

回到主界面,查看修改文件:
结对编程(一)_第8张图片

运行 git pull origin master命令, 获取远程分支上的 commit 会被复制到本地仓库
,本地跟踪分支移到指向最新的 commit并且合并到本地分支。

说明: origin /master分支不实时映射远程仓库 master 分支所在的位置。如果远程仓库的master分支移动,origin /master本地分支仍会待在原地。更新分支,需要同步两个仓库。git push 会同步远程仓库与本地仓库,git pull 是拉取远程仓库。
结对编程(一)_第9张图片

运行git fetch 命令,检索 commit 和移动跟踪分支,不会将本地分支与跟踪分支合并。

小结:
(1)各命令以及说明:
git add .可以提交未跟踪和修改文件(只能够提交当前目录或者它后代目录下相应文件),但是不处理删除文件。
git remote :建立远程仓库。
git push:将本地 commits 推送到远程仓库.,会同步远程仓库与本地仓库。
git pull : 获取远程分支上的 commit 会被复制到本地仓库,本地跟踪分支移到指向最新的 commit并且合并到本地分支。

git fetch:检索 commit 和移动跟踪分支,不会将本地分支与跟踪分支合并。
(2)git pull和git fetch区别:
git pull相比git fetch相当于是从远程获取最新版本到本地,但不会自动merge。如果需要有选择的合并git fetch是更好的选择。效果相同时git pull将更为快捷。

你可能感兴趣的:(结对编程(一))