欢迎来到朵朵的编程成长日志。

7.12周一

这是实习的第1天,今天我主要学习了对于git的使用。

  1. 对于git的认识。

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

  1. 从开发者的角度来看,git 有以下功能

1、从服务器上克隆完整的 Git 仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码 fetch 下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他

们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人

提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用 pull 命令解决冲

突,解决完冲突之后再向主开发者提交补丁。

我的理解:就是其他人的远端,其他人的本地和我的远端,我的本地四者之间的交互。

在其他人的远端上通过fork拷贝文件到我的远端上面,我再复制下载到我的本地,实现修改操作以后,把我修改以后的上传到我的远端,再次通过pull menge上传到其他人的远端上面去。

就是一棵大树,它出现了一些毛病比如说虫害,叶子黄掉了,现在需要找到一枚粉刷匠来修理,那怎么修理呢?首先,你需要把这棵大树从别人的院子里拔出来(fork)通过卡车运送到你的门店里面去。到了你的店,因为只是树木的一个部分坏掉了,而不是整棵,把树的问题枝丫拔下来修理,修理完再安上树,再通过卡车(pull)送回到院子里。

从主开发者的角度(假设主开发者不用开发代码)看,git 有以下功能:

  1. 查看邮件或者通过其它方式查看一般开发者的提交状态。

2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后

再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。

3、向公共服务器提交结果,然后通知所有开发人员。

说人话:分布式协同工作,代码管理

2: Git GUI 的使用

权限校验

首先,您的数据保存在远端服务器一份,服务器需要对您的身份识别。一段 R

SA 加密字符串。启动 GUI,菜单-帮助,

 

点击Generate KEY,成功生成后,得到一串数字。该文件保存在路径

~/.ssh/id_rsa.pub 下面

 

1.将密钥文件,id_rsa.pub 传到代码托管器上面进行操作。

2.在 Github 注册一个自己的账号。(网址是:https://github.com/login

 

Step2-添加密钥】去你的代码托管服务器,你的账号设置中,添加它。比如在 Github 中的地址,title 随意,比如你可以用 Home,company 等作为标识来区别

 

下面开始:初始化Git init

就是新建一个项目。在你新建好的文件夹中右键创建即可,若点击 Git bash 则以此目录作为当前目录进入命令行状态。

Git init

将创建一个名字为.git的新的子目录(windows下为隐藏),其中包含所有必需的存储库文件(Git 存储库框架)。但是现在,你的项目中尚未跟踪任何内容。

  1. 设置用户名(初次):

当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:

  $ git config --global user.name "yunduozzz"

  $ git config --global user.email  xxxxxxxx

  重申一遍,你只需要做一次这个设置。如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。 

 

  1. Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。

检查你的设置(Checking Your Settings)

   如果你想检查你的设置,你可以使用 git config --list 命令来列出Git可以在该处找到的所有的设置: 

$ git config --list 

 

 

3.使用git客户端第一次git clone github.com代码的方法

使用git-clone命令从github上同步github上的代码库时,如果使用SSH链接,而你的SSH key没有添加到github帐号设置中,系统会报下面的错误

这时,需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。创建ssh key的过程如下: 
输入命令:ssh-keygen -t rsa -C "youremail@xx.com"

然后根据提示连按三次enter键,生成的SSH key文件就保存到C:\Users\Administrator.ssh文件夹下的id_rsa.pub文件中。 

然后就可以clone自己的github上的代码了。

git clone命令:git clone git@github.com:Jameszhjj/W3C.git

git add命令:git add -A

git commit命令:git commit -m " "

git push命令:git push (origin master)(括号内可选)

 

我们获取到的结果:

 

Git 分支管理

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从

开发主线上分离开来,然后在不影响主线的同时继续工作。

有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制

系统家族里区分出来。

创建分支命令: git branch (branchname)

切换分支命令: git checkout (branchname)

pwd.显示当前界面地址

 

mkdir folder_name 新建一个文件夹

mv file_A dist_dir 将文件 A 移动到 dist_dir 位置

cp file_A dist_dir 将文件 A 复制到 dist_dir 位置

ls 显示当前路径下的所有的文件

ls -a 隐藏文件也一并显示

cd dist_dir 进入指定目录

 

vim/vi file 打开某个文件

删除分支 git branch -d (branchname)

提交历史一般常用两个命令:

git log - 查看历史提交记录。

git blame <file> - 以列表形式查看指定文件的历史修改记录。

git log

在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,

我们可以使用 git log 命令查看。

 

 

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐