我的 git 学习历程
姓名:王杰。我在学习中使用的参考教程为廖雪峰的 git 教程
我们小组的cantool需求文档在github
1.github 简介
对 github 的了解和常用几个功能的理解
- 功能:版本控制,借助 github 托管代码
- 仓库(Repository): 存放项目的地址。仓库用来存放项目代码,多个项目对应多个仓库
- 收藏(Star): 收藏项目,方便下次查看
- 复制克隆项目(Fork): 把别人的项目复制克隆到自己的github 中,该项目独立存在。
- 发起请求(pull request): 基于fork ,克隆者把修改后的项目发给原有代码者,原有项目创建者接受更改。
- 关注(watch): 关注项目,接收项目更新提醒
- 事物卡片(issue): 发现bug,没有成型代码,需要进行讨论。
2.git 使用
2.1 git 工作区
对 git 工作区的理解
区域 | 方法 |
---|---|
工作区 | git status git add test.php 提交到暂存区 |
暂存区 | git status 查看状态 |
git 仓库 | git commit -m "提交描述" 提交到仓库 |
2.2 git 基础设置
1.git 安装之后,进行基本信息设置
# 设置用户名:
git config --global user.name "your name"
# 设置用户邮箱:
git config --global user.email ""
# 查看设置:
git config --list
2.初始化一个新的 git 仓库
# 创建文件夹
mkdir test
# 在文件内初始化 git
git init
3.向仓库中添加文件
# 步骤
touch a1.php
git status
git add a1.php
git status
git commit -m "message"
4.向仓库中修改文件
vi a1.php
git reset a1.php
git diff HEAD --a1.php
5.向仓库中删除文件
rm -rf a1.php
git rm test.php
git commit -m "message"
- 版本切换
#切换指定id的版本:
git reset --hard id
#回退到上个版本:
#HEAD 当前版本 HEAD^ 上一个版本 HEAD~number 指定数字版本
git reset --hard HEAD^
#把暂存区的修改撤回重新放回工作区
git reset HEAD file
7.查看各个版本库状态
#从进到远的提交日志:
git log
git log --pretty=oneline
#查看命令历史,可以获得最近命令的 id,便于切换
git reflog
8.丢弃工作区的修改
# 丢弃指定文件在工作区的修改
git checkout -- file
2.3 git 管理远程仓库
- git 克隆操作
git clone url
2.本地仓库同步到远程仓库
git push origin master
3.关联远程仓库
#要关联一个远程库,使用命令
git remote add origin git@server-name:path/repo-name.git;
#关联后,使用命令git push -u origin
master第一次推送master分支的所有内容;
#此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
3. git 分支
Git鼓励大量使用分支
查看分支:
git branch
创建分支:
git branch
切换分支:
git checkout
创建+切换分支:
git checkout -b
合并某分支到当前分支:
git merge
不保留分支合并历史;git merge --no-ff
保留分支合并历史删除分支:
git branch -d
当Git无法自动合并分支时,就必须首先解决冲突(冲突只能手动解决)。解决冲突后,再提交,合并完成。
- 用
git log --graph
命令可以看到分支合并图。
Git分支十分强大,在团队开发中应该充分应用。
合并分支时,加上
--no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并就看不出来曾经做过合并。`git meragebug 分支:修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
- 当手头工作没有完成时,先把工作现场
git stash
一下,然后去修复bug,修复后,1.再git stash pop
,2.用git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用git stash drop
来删除;回到工作现场。 feature 分支:开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过
git branch -D
强行删除。
git 学习历程
姓名:张德胜
1.注册个人的GitHub账号,地址:https://github.com/
2.在“Your repositories”中点击”New repositories”来创建自己的代码仓库然后将Repository name设为“HelloWorld”,权限设置为”Public“
,最后点击绿色按钮”Create repositor“创建代码仓库成功。
3.下载并安装GitHub客户端(我的windows下的客户端),地址:http://msysgit.github.io/,选择对应自己电脑的版本。
4.在计算机本地创建新的文件夹来保存将要新建的项目。
5.选中GitHub文件夹,鼠标点击右键选中”Git Bash Here “进入Git命令行操作界面。
6.使用git init 命令
将当前目录初始化当前目录。
此时当前目录中出现一个新的名为”.git”的文件夹,在此目录下创建新的文件名为”first.txt”,然后使用”git add first.txt ”命令将该项目纳入.git版本控制中。
7.使用git commit –m
”对项目信息的说明”命令提交信息,就是将上一步add的项目提交到Git仓库中。
8.创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开 Git Bash,创建SSH Key:
输入指令: ssh-keygen -t rsa –C “你的邮箱地址“,你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
点“Add Key”,你就应该看到已经添加的Key:
9.添加远程库
输入命令:git remote origin [email protected]:用户名 /代码仓库名称.git
10.把本地库的所有内容推送到远程库上。
输入git push -u origin master
命令
11.至此以后若需上传其他项目,先将项目复制到本地GitHub文件夹中,使用git add .命令添加项目,并使用git commit –m “项目说明信息”
命令对add这一动作进行提交,然后调用git push -u origin master
命令上传,即可成功。
git 学习历程
姓名:胡庆庆
1.首先建立一个存储库,点击上图中的 New repository 选项。
2.给存储库起一个名字,然后勾选README选项,点击 Create repository 之后就建成了一个新的存储库。
3.建立一个 HelloWorld 的文件夹,复制存储库地址,然后在文件夹里右键选择 Git Bash Here.
4.把地址克隆到文件夹本地中,输入如上图所示的命令行。
5.输入命令行vi helloworld.c
来编写一个C语言的helloworld。
6.编写内容如上图所示。
7.所编写的 C 语言 HelloWorld 出现在文件夹中。
8.输入命令行git add
. ,将项目纳入 git 版本控制中。
9.然后输入命令行git commit –m ”my first pritice”
,将所有更改放到本地暂存区域,等待上传。
10.如上图所示,输入git remote add origin
https://github.com/821779278/HelloWorld.git 命令行,连接远程仓库。
11.输入git push origin master
命令行,提示输入密码,输入之后 HelloWorld 项目成功传入到存储库中。
初出茅庐-我的Git学习之路
(李耀 2117218013 )
一、了解Git
Git是什么?Git是目前世界上最先进的分布式版本控制系统(没有之一)。为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
二、注册Git帐号,加入团队
首先进入官网的首页面,初始页面提示注册一个帐号,果断注册进入.
由于我注册的时候,我们团队的项目仓库已经创建,所以我直接接收了组长的邀请,加入了团队项目仓库.特别提示,注册邮箱里面找一封确认信,可能被标记为垃圾邮件了!一定要确认,否则无法完成!
三、安装Git
1.我的电脑是Win7 64位,由于最早的Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑,但是不怕,现在Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。而且现在我们有了msysgit,在廖雪峰老师的百度网盘里面的Git目录下,下载下来直接默认安装,真的是傻瓜式操作有么有哇.
2.安装完成后,怎么验证咱们安装正确,可以在开始菜单里找到“Git”->“Git Bash”,打开后,出现下面这个窗口,表示咱们安装Git成功:
四、创建版本地本库
由于我们团队是已经创建了远程库,所以我可以直接添加远程库,然后同步就可以.但是既然是学习,我还是创建了一个本地的仓库,然后按照廖老师的步骤,一步一步的实现了,先附一个代码截图.
- 第一步一个是创建一个空目录,取名为learngit,输入如下指令
$ mkdir learngit
我第一次输入的时候也发现并没有返回什么信息,由于我截图的时候是第二次操作,所以把创建的这一步跳过了. - 输入打开文件夹指令
$ cd learngit
,这个时候命令行界面已经进入了learngit的文件夹里面 - 输入显示文件件指令
$ pwd
,我的仓库位于/c/Users/Administrator.WIN-5VO0DDV11J5/learngit - 通过gitint命令把我的这个目录变成Git可以管理的仓库
- 写自己的一个文档,我写的是一个readm.txt文档,这个文档我放到了learngit目录下(当然子目录也行),
- 用git add命令把这个文件填加到缓存区
- 用git commit命令把文件提交到仓库
- 因为我的远程已经建立好,而且我已经用git push -u origin master命令第一次推送master分支的所有内容,这个时候是有修改,但是没有推送,所以直接用命令git push origin master推送最新修改
五、从远程库克隆
这一步骤也是先附上截图:
1.根据上面的步骤,我们的团队的远程库是已经创建好的,https://github.com/naivezm/WindowsAppCanTool,所以现在直接用命令git clone克隆一个本地库:
2.由于刚才的git clone命令是在我的learngit的文件夹内操作的,所以打开我的learngit文件夹,里面出现了WindowsAppCanTool这个文件夹,而且文件夹里面的东西与远程库一模一样
3.当然,如果要把本地的修改上传到远程库,还是用add/commit/push的命令,由于与第四步的本地练习相同,所以就不上图了.