Git使用

Posted YangZheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git使用相关的知识,希望对你有一定的参考价值。

标题:Git使用

作者:YangZheng

联系方式:263693992@qq.com

 

Git是分布式版本控制系统。

1 git与github账号关联

获取本地git的SSH秘钥,这个是本地git被允许push,pull操作的认证,需要在github账号的SSH管理list中添加:

clip_image002clip_image004

一个github账户可以关联多个SSH秘钥,但是注意一个秘钥同一时间必须只能与一个github账户相关联,这意味着如果你的秘钥在另外的github账号上登记了,你必须把之前的删除掉才能添加,不然会提示:

clip_image006

那么怎样获取获取本地git的SSH秘钥呢?

方法一:在git GUI窗口点击

clip_image008

在秘钥窗口点击 Generate Key然后就会生成SSH秘钥(估计秘钥是硬件绑定的),如下

clip_image010

将这段秘钥复制到github中,点击Add SSH Key:

clip_image012

对了,为了能够上传代码,我们还得做一件事,那就是本地git“我们是谁”,即告诉git我们的github账号,密码,这样就不必每次提交代码都要求输入密码。

本地登记git服务器账户密码

【Step1-添加环境变量】

我的电脑 - 属性 - 高级系统设置 - 环境变量 - 新建变量

变量名HOME,变量值%USERPROFILE%

clip_image014clip_image015clip_image017clip_image018

Step2-创建账号文件】

开始 - 运行中打开%Home%,即windows的管理员账号文件夹。

新建一个名为"_netrc"的文件,填写你要保存的服务器地址及账号密码,保存。

clip_image020clip_image021

2 部分基本操作

2.1 初始化(Git init)

顾名思义,就是新建一个项目,跟你用PS新建一张画布一样。在你新建好的文件夹中右键创建即可,若点击Git bash则以此目录作为当前目录进入命令行状态。

这个初始化一般用于新建一个工程项目并作为master节点时使用

clip_image022

2.2 添加(Git add)

添加并不是提交代码到远程Git库,Git也并不会你修改了代码它自动帮你保存你修改的每一个过程。你修改了很多文件,但未必所有的修改,最终打算提交上去,那么哪些是你打算提交的,你可以添加进来待会提交,叫做缓存改动。很简单,比如本地电脑上我有整个项目完整的东东,甚至包含了账号密码的一些文件,但是我只是ADD除账号密码之外的文件,并不缓存账号密码文件的改动。不被ADD它就不会参与后续的操作。通常我都会直接全部缓存,它会自动寻找所有有改动的文件,而不需要提交的文件放在忽略的文件夹中。(关于忽略下面我们就会说到)

clip_image023

2.3 忽略(.gitignore)

但实际上大部分我们的文件都是一起提交的,并不会逐一去甄选,又或者类似PSD这样的大源文件以及并不作为产品最终展示的过渡文件,我们可以统一放在临时文件夹中,并忽略此文件夹。

clip_image024

2.4 提交(Git commit)

提交则代表此前被添加ADD的文件已确认被提交到Git库了。需要注意的是,如果你改变代码的缩进(尽管没有修改内容),默认状态下会被识别为整个代码全部变更。提交的时候是要求必须要写备注的

clip_image025

2.5 上传(Git push)

顾名思义,上传则是上至远端服务器了

clip_image026

注意,在上传前要确定你要上传到那个git库,在github中这个库的地址:

clip_image028

最好选择Clone with SSH地址,用有更多权限。

2.6 远端操作(remote)

当需要和他人合作编写代码需要在异地同步代码,及使用此功能

为了获取已有项目的克隆,我们需要打开git GUI ,选择克隆已有版本库

clip_image030

clip_image032

点击克隆,就会将github上的项目克隆到本地,注意,一些项目可能有很多很多文件和节点,不可能全部都下载下来,一般默认下载master节点的文件,并会将所有节点的索引下载下来,用户需要同步那个节点自行选择,比如点击合并:(方法一)

clip_image034

在跟踪分支选项中,列出了项目所有的分支节点,选择合并其中一个,这样本地项目就完美克隆了某一个分支的全部代码,一些大型项目需要多人参与开发,这样不同的人负责不同分支(低耦合的模块)的开发可以加快项目进度也利于管理。

clip_image036

上密案这种方法其实不推荐,因为克隆默认同步的时master节点的文件,如果我们直接选择合并,则会使得本地的master变成之前的master节点+所选节点的合并,这样当我们想要上传修改后的代码时就会发现,我们只能上传到mater,除非我们改名和某个节点相同。或者采用方法二克隆节点:

首先新建一个节点

clip_image038

然后节点名直接选择,匹配跟踪分支名字,这样可以直接保证分支名称和内容和github上一致,且不会默认克隆的master节点的文件

clip_image040

这样的话,本地就同时拥有两个分支节点了(master分支和liu分支),当我们查看其中一个时,可以在节点选项中选择checkout

clip_image042clip_image043

切换哪个活动分支(双击进行切换),则项目目录中就显示其工程文件,互不干扰影响。(因为git的本质不是存储文件而是存储用户在项目中做的修改,包括增删改操作)

当我们修改代码后,要上传代码可以点击远端选项的上传

clip_image045

由于本地现在有两个分支所以,可以上传的分支有两个。一般情况用户最好只上传更新自己维护的节点,以免破坏其他人维护的节点,当然每个人应该要有相应的访问权限,只能修改或访问自己权限范围内的文件

clip_image046

另外,当多人合作开发一个节点时,你可能需要获取别人修改后的代码再进行二次开发,此时需要remote操作

clip_image048

然后合并到自己的本地分支中,注意你当前切换的活动分支是什么就应该合并选那个分支,如果贸然去合并其他分支(操作的含义是将其他分支合并到当前分支)可能会产生合并冲突,如果合并出错,则要及时终止合并恢复之间的分支状态,而如果列表中没有你要的分支说明没有跟新。

clip_image050clip_image052

以上是关于Git使用的主要内容,如果未能解决你的问题,请参考以下文章

git使用-git使用流程

Git认识与使用 Git

Git认识与使用 Git

Git认识与使用 Git

Git认识与使用 Git

Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit