第13组第2次作业

李乐
创建版本库并初始化

生成一个readme.txt文件,注意进行txt文件编辑时勿用windows自带的,可以用vi readme.txt进行编辑后先按Esc,再按:w进行写入,最后退出。

将readme.txt文件添加到版本库

将本地的git仓库添加到GitHub远程库里

从GitHub远程库克隆到本地仓库
注意:这里我们是先建立了本地的git仓库,克隆的前提是先建立远程库,后克隆到本地

取回origin主机的master分支

当前分支自动与唯一一个追踪分支进行合并

解决冲突问题

付英健

创建一个项目

首先进入GIT 文件管理系统

选择公开的管理方式

建一个Repository name

输入readme-edits

点击README.md文件

添加信息 关于小组的信息

添加信息后的主界面

OPEN A PULL REQUEST

修改信息

更新数据

更新数据结束的界面

最后是合并两个branch


在网页上的操作进行后我又下载桌面版。简单尝试了一下
首先在ubuntu上安装一下,开始安装的不成功因为我输入的apt-get install git

后来才知道要输入sudo apt-get install git

首先建了一个库

登陆

先使用git config –list检查装置

添加文件 hello-word.h,hello-word1.h


使用git status

使用commit

最后连接远程数据库

汪步鹏
github在大学的时候,被老师和学长们推荐了,但是直到2015年,参与了学长的一个private项目,才正式使用。

此后便一直没有使用,这次作业让我有机会再次使用,非常幸运。
学习程序语言,往往都是从输出HelloWorld开始,那么练习git也从HelloWorld项目开始。


先是在github上创建了repository,并命名为heloworld(由于之前已经存在了helloworld),由此也可以得知github是不区分项目名称大小写的。
创建完repository之后,也可以在自己的个人主页上看到相应的活动。
接下来进行本地的版本库操作。

命令解释:
使用git init进行初始化。
然后使用git add将已经写好的HelloWrold.java程序添加到缓存区。
再使用git commit提交修改的内容。
git remote add是添加远程库。

git push是将本地commit的代码更新到远程版本库中。

当然,过程中还需要登录github

最后查看github,helloworld.java文件成功被push。

胡慧

我的Github学习之路

目录

1. Git简介

2. Git安装和版本库创建

3. Git文件修改处理

4. 远程仓库的建立和克隆

5. 分支管理

1.Git简介

Git目前是世界上最先进的分布式版本控制系统。分布式版本控制系统没有“中央服务器”,每个人电脑上都有一个完整的版本库,不需要联网。相比集中式版本控制系统,安全性要高很多。

2.Git安装和版本库创建

2.1 Git安装

在windows安装了git,使用git-bash进行命令行操作。

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

2.2 版本库创建

Firstly,创建一个空目录

mkdir story1
cd story1
pwd
/c/Users/Aspire/story1

Secondly,通过git init 把目录变成Git可管理的仓库。可以看到,产生了一个隐藏文件夹.git。

ls -a
./  ../  .git/  1.txt

2.3文件编辑和提交

文件编辑器可以采用Notepad++,VisualStudio node等,我选用vim编辑器和vs node,方便易上手。
例如文件1.txt编辑完成后,

git add 1.txt
git commit 1.txt
git add 1.txt 2.txt 3.txt
git commit -m "3txts have been changed"

commit -m 后面是为了区分不同版本以及方便记忆处理而自定义的。

3. Git文件修改处理

3.1时光机

git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   1.txt

no changes added to commit (use "git add" and/or "git commit -a")

此命令提示我们文件是否被修改却并未提交。

git diff此命令能清除看到文件修改的位置和内容增减。

3.2版本回退

git log 查看由近及远三次提交日志,输出信息包括commit id版本号,Author,Date,版本名称。

git log --prety=oneline
用于只查看版本编号,具有唯一性。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

git reset --hard HEAD^

往上两个版本HEAD^^,往上10个版本HEAD~10。

git reset --hard 3628164

不采取一步步退回,而是直接让HEAD指针指向特定的版本号(版本号不用写全)。
git reflog
查看历史的每一次记录,任何版本都可到达。

3.3暂存区与工作区

image

文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。

gut diff HEAD -- 1.txt

此命令可查看工作区和版本库最新版本的区别。

3.4撤销修改

场景1:改乱了工作区某个文件内容,若想直接丢弃修改,用命令 git checkout -- 1.txt

场景2:改乱了工作区内容,还添加到暂存区,想丢弃修改,第一步,版本回退,git reset head 1.txt, 第二步,按场景1操作。

场景3:已经提交不合适的修改到版本库但没有推送到远程库,按版本回退操作。

场景4:将不合适的修改提交并推送到远程库,那就呵呵啦

3.5 删除文件

删除文件后工作区和版本库不一致
要么删除版本库中的对应文件

git rm 1.txt
git commit -m "remove 1.txt"

要么通过版本库恢复工作区误删的文件

git checkout --1.txt

4.远程仓库的建立和克隆

4.1远程仓库

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "example@163.com"

image

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

第3步,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点击"Add Key"。
添加成功。
image

4.2添加远程库

先有本地库,后关联远程库。

关联一个远程库,使用命令

git remote add origin git@github.com:bonniefox/story1.git

关联后使用git push -u origin master
第一次推送master分支的所有内容。
之后,每次本地提交后,就可以使用
git push origin master
推送最新修改。

bug:

我在创建远程库的时候,故意让远程库的名字和本地库不一样,还添加了README.md,导致了一系列的错误。
image
重新建立了同名远程库并修改用户名大小写之后,又出现如下error:
image

经过多番尝试,有了新的发现和总结:
一、与本地仓库对应的远程仓库必须同名,不然系统搜索不到与本地同名的远程仓库。
二、如果创建远程仓库时顺便把README.txt打对勾了,那么很不幸,由于远程版本更加新,本地版本更旧,我们不得不pull远程,又push本地,十分麻烦,不如直接先建远程,再从本地提交。
如果创建远程仓库时没打对勾,仓库是空的,那么可以直接将远程和本地关联并push。
最后,在本地仓库和远程仓库都非空的状态下,是无法关联历史的,要清空一方。

4.3远程仓库的克隆

先创建远程库,再克隆到本地。

远程建好的仓库比如gitskills,
image
用命令

git clone git@github.com:bonniefox/gitskills.git

本地的当前目录出现了gitskills文件夹

image
image

5.分支管理

5.1创建与合并分支

查看分支:git branch

创建分支:git branch <dev>

切换分支:git checkout <dev>

创建并切换到当前分支:git checkout -b <dev>

合并某分支到当前分支:git merge <master>

删除分支:git branch -d <dev>

tips:
在编辑上面一段过程中无意中发现Markdown可以通过反引号`一左一右将代码括起来可使代码在文字中插入。

5.2 git fetchgit pull的比较

git fetch从远程origin的master分支下载最新版本到origin/master上,然后比较本地的master和origin/master分支的差别。

git fetch origin master
git log -p master..origin/master
git merge origin/master

image
也可以采用以下方式更清晰:

git fetch origin master:tmp
git diff tmp
git merge tmp

git pull三步合一,直接从远程获取最新版本并merge到本地
git pull origin master

实际使用中更多运用git fetch相对更加安全。

项目需求##

**1.** CanTool装置与上位机通过USB串口或蓝牙RFComm实现UART串口通信。 **2.**上位机与CanTool装置之间的信息传送方式使用ASCII码格式+ \r(即0x0d)方式进行信息交换。 **3.** CanTool装置是接受ecu的信号,和发送信号到ecu。 **4.**需要测试接口在进行软件测试的过程中,输入与输出是否准确。 **5.**进行单元测试-功能测试-集成测试-场景测试-系统测试-Alpha/Beta Test。 **6.**CanTool装置通过CanToolApp将CAN信息发送到上位机。 **7.**以Arduino微控制器为基础设计CanTool硬件装置,实现CanTool装置信号的发送和接收。 ###总结下就是: 信号接收功能:要能够接收到模拟器包括真实的设备发出的信号。 信号检测功能:要能够对接收的信号进行检测,校验信号的信息是否正确。 信号发射功能:接受到信号后要有所反馈,对检测后的信号有所反馈,把检测后的信息传递回去。
posted @ 2017-09-29 16:53  lile_tju_group  阅读(269)  评论(0编辑  收藏  举报