git - 简易指南

一、安装与配置

下载git OSX版

下载git Windows版

下载git Linux版

安装完成后需要配置环境变量

http://jingyan.baidu.com/article/9f7e7ec0b17cac6f2815548d.html

二、git的机制

Git本地仓库的组成:

第一个是你的工作目录(本地目录),它持有实际文件;

第二个是缓存区(Index),将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,保存本地临时的改动Git称该区域为索引;

第三个是HEAD(.git目录),指向你最近一次提交后的结果。

Git仓库就是那个.git目录(.git目录位于工作目录内),其中存放的是我们所提交的文档索引内容,Git可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制。

Git远端仓库的配置:

第一步:使用git生成本机的唯一密钥

1、检查本机是否有ssh key设置:

$ cd ~/.ssh或cd .ssh

如果没有则提示:No such file or directory

如果有则进入~/.ssh路径下(ls查看当前路径文件,rm *删除所有文件)

2、使用git bash生成新的ssh key:

$ ssh-keygen -t rsa -C "xxxxxx@yy.com"  #建议填写自己真实有效的邮箱地址

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa):   #不填直接回车

Enter passphrase (empty for no passphrase):   #输入密码(可以为空)

Enter same passphrase again:   #再次确认密码(可以为空)

Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa.   #生成的密钥

Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub.  #生成的公钥

The key fingerprint is:

e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81xxxxxx@yy.com

第二步:远端部署密钥(权限)

找见生成的密钥文件.ssh,将其中的公钥内容配置到远端的仓储(如gitHub、gitLab),将不同的开发者的密钥部署在远端的同一个账户项目下,就能使多个开发人员同时开发同一个项目

三、Git bash命令和使用

1、git的初始化配置

1.1、配置使用git仓库的人员姓名

git config --global user.name "Your Name Comes Here"

1.2、配置使用git仓库的人员email

git config --global user.email you@yourdomain.example.com

2、git clone

从远端获取源码克隆到本地仓库

git clone [版本库的地址:支持http(s)、ssh、本地等多种协议]

注释:只有使用ssh协议的时候才需要添加密钥

3、git init

初始化本地仓储,在当前目录中产生一个.git的子目录以后,所有的文件变化信息都会保存到这个目录下。在.git目录下有一个config文件,可以修改其中的配置信息。

4、git add

将当前工作目录中更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步。可以递归添加,即如果后面跟的是一个目录作为参数,则会递归添加整个目录中的所有子目录和文件。

git add dir1( 添加dir1这个目录,目录下的所有文件都被加入 )

git add f1 f2( 添加f1,f2文件)

git add .(添加当前目录下的所有文件和子目录 )

5、git rm

从当前的工作目录中和索引中删除文件。可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件。

git rm–r *(进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录)

git rm f1(删除文件f1,包含本地目录和index中的此文件记录)

git rm --ached f1(删除文件f1,不会删除本地目录文件,只删除index中的文件记录;将已经git add的文件remove到cache中,这样commit的时候不会提交这个文件,适用于一下子添加了很多文件,却又想排除其中个别几个文件的情况.)

6、git commit

提交当前工作目录的修改内容。

git commit分支 –m“提示信息” (在一个commit id上不断修改提交的内容,必须添加提示信息,否则错误)

7、git branch分支名

虽然创建了分支,但是不会将当前工作分支切换到新创建的分支上,因此,还需要命令“git checkout分支名” 来切换

8、git checkout分支名

切换到分支

9、git checkout–b分支名

不但创建了分支,还将当前工作分支切换到了该分支上

10、git checkout–D分支名

删除后,发生在该分支的所有变化都无法恢复。强制删除此分支

11、git fetch

从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最新代码)相当于从远程获取最新版本到本地,不会自动merge,比git pull更安全些。使用此方法来获取服务器上的更新。

12、git merge“注释” 合并的目标分支 合并的来源分支

合并代码,代码产生冲突的时候用来解决冲突

13、git pull分支

从服务器的仓库中获取代码,和本地代码合并。(与服务器交互,从服务器上下载最新代码,等同于:Git fetch + Git merge)

14、git push分支

将本地commit的代码更新到远程版本库中

**为了避免不必要的冲突,一般在commit之前都会先pull一下,保证本地代码是最新的,然后再push到远端分支。

**git gui是git的图形化操作,更加的客观形象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,561评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,218评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,162评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,470评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,550评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,806评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,951评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,712评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,166评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,510评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,643评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,306评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,930评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,745评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,983评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,351评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,509评论 2 348

推荐阅读更多精彩内容

  • 三大区域: 工作区 → 缓存区 → 本地仓库 一 、 使用 git config 命令进行配置: git ...
    Manchangdx阅读 2,841评论 0 2
  • 安装下载 git OSX 版下载 git Windows 版下载 git Linux 版 创建新仓库创建新文件夹,...
    GarfieldEr007阅读 402评论 0 3
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,645评论 9 163
  • 人一撇一捺,站立于人世间。各式各样,各所不同,各种命运,各种人生。但人生的意义,人生的价值,人生的乐趣,人生的……...
    八百里洞庭我的家阅读 178评论 0 0
  • 舍友Y小姐前几天刚失恋。 那是周一的早上,八点有必修课,我和另外两个人匆匆忙忙洗漱的时候,Y小姐坐在桌前,语调平静...
    臧安阅读 376评论 0 0