当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Git入门之Git实例操作

Git入门之Git实例操作 时间:2018-09-25      来源:未知

要点一览:

· 1.工作场景介绍

· 2.操作介绍

· 3.总结

1.工作场景介绍

本文实现一个本地代码管理,和实现远程代码提交的教程!

我们实现对本地文件的版本管理,以及远程推送和分支管理!

2.操作介绍

我们先创建一个本地代码仓库:

命令:

$git init

//初始化代码库,作为我们本地代码的仓库

接下来我们就来开始自己的工作:

【1】、初始化一个仓库

首先先自己创建一个工作目录:

$mkdir work_space

进入该目录,获得代码库:

$git clone <本地代码库路径>

$git clone <本地代码库路径> <目标目录名>

实例如下:

命令1:

$git clone <代码库路径>

命令2: 可以自己制定本地代码库路径,如果该路径不存在时,则会自动创建

$git clone <代码库路径>

此时我们就获得了一个自己的代码库,之后我们就可以在其中进行自己的开发,可以借助于git实现自己的代码管理了:

这两个目录类似于两个开发人员

自己可以选择一个进入,进行操作

我们进入mygit目录,此时我们可以先查看一下当前的仓库状态信息:

上面提示,当前仓库没有任何要提交的东西,上图中关于分支的概念我们在后面会进行说明!

没有认可东西提交是,因为我们没有编写任何文件,这里我们就编辑一个文件,

程序很简单: 实现一个加法的操作

/*main.c*/

#include

int add(int a,int b)

{

int c = a + b;

return c;

}

int main(int argc,const char * argv[])

{

int a = 10,b = 20;

printf(" a + b = %d\n",add(a,b));

return 0;

}

编译后,我们通过git status 命令再来查看 仓库状态,如下图所示:

从提示信息我们可以看到,main.c a.out 都是"未被跟踪的文件",所谓”未被跟踪的文件“即,还没有纳入git管理的文件

但是通常我们进行代码提交时,或是代码仓库不需要可执行的文件,那么怎么办呢!

git 提供了一种方式可以指定哪些类型的文件不被提交!

操作:

创建忽略文件

$ touch .gitignore

.gitignore文件中记录要排除文件的名字,可以使用*、?、正则表达式

这是我们的.gitignore 文件的的内容,如果还有需要忽略的可以在其中进行添加

好,做好这些之后,我们可以来讲我们的代码添加到git的管理中了!

【2】、跟踪文件

命令:

$git add .

这样就实现了将我们的代码加入git的版本管理中了!

现在我们实现的只是将

"工作目录"下的内容 --添加到-->暂存区,但是还没有 提交到"代码仓库中"。

【3】、提交到代码库

命令:

$git commit -m ”提交信息“

查看提交记录:

$git log

//只显示提交信息的第一行

$git log --pretty=short

到现在我们基本上就完成对代码的管理,但是这还不够,我们优势需要在项目中添加新的功能,但是,有不影响原有的,此时我们需要借助于分支的功能的来实现

【4】、分支操作

分支操作的相关命令:

分支操作:

// 显示分支

$git branch

// 创建分支

$git branch <分支名>

// 切换分支

$git checkout <分支名>

$git chechout - //切换到上一个分支

// 合并分支

$git merge --no-ff <分支名>

//删除分支

$git branch -d <分之命名>

//分支重命名

$git branch -m <源分支名> <目标分支名>

之后切换到该分支下,可以做自己的代码开发

我们在该分支下进行了代码的修改,此时查看仓库的状态

之后我们进行提交

命令:

// 一次性完成add 和 commit 操作

$git commit -am ”提交信息“

操作效果如下:

对比分支差异:

之后进行分支合并操作:

命令:

//切换到主分支

$git cheout master

$git merge --no-ff my_branch

操作效果如下,合并之后有相应的提示, --no-ff参数表示可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

【5】、版本回溯

操作命令:

$git log //查看到当前为止的历史日志!

$git reflog //获得操作历史,查看sha值.

$git resetr --hard <哈希值> //只需要前几位就可以

假如我们想回溯到 chang main.c 这个部分

当前就回溯到了该版本。自己可以查看自己的源代码进行对比

【6】、远程操作

相关命令

$git remote

$git fetch

$git pull //获取新的远程仓库分支

$git push //推送至远程仓库

首先我们现在 开源的代码托管网站上建立一个同名的项目

我之前已有账号,相关的注册等教程可参考网上资源!

之后我们获得地址:

git@git.oschina.net:smartIOT/mygit.git

首先需要为本地仓库添加一个远程仓库的地址:

$git remote add orgin git@git.oschina.net:smartIOT/mygit.git

之后进行推送

$git push -u origin master

出现如下提示:

这是因为 git 链接方式我们使用的是ssh方式,需要公钥的的验证

公钥的添加方式如下,需要在我们的 开源 的代码托管账户中进行添加!

SSH Keys

SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。

你可以按如下命令来生成sshkey

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"# Creates a new ssh key using the provided email

# Generating public/private rsa key pair...

查看你的public key,并把他添加到 Git @ OSC //git.oschina.net/keys

cat ~/.ssh/id_rsa.pub

# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

添加后,在终端(Terminal)中输入

ssh -T git@git.oschina.net

若返回

Welcome to Git@OSC, yourname!

则证明添加成功。

添加之后我们进行强制推送:

显示已推送成功,之后到我们的 账户查看,显示已经提交上来了!

$git clone git@git.oschina.net:smartIOT/mygit.git

3.总结

1.主要熟悉,整个工作流程和操作流程,建立整体概念,方便后续的学习和深入!

2.git的相关命令

n git init

n git add

n git commit 配合

n git status 使用

n git branch

n git remote

n git log

n git relog

n git pull

n git push

git clone

上一篇:Git基础知识 和 Git安装 配置

下一篇:快速了解ZigBee的协议栈

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部