1.新建一个“本地仓库”

$ git init

2.配置仓库

》告诉git你是谁

git config user.name lnj

》告诉git怎么联系你

git config user.email lnj@itcast.cn

》上面一种配置方式是一次性的配置, 会配置到被管理文件的。git文件夹下

》下面一种配置方式是一劳永逸的方式:

git config --global user.name lmj

git config --global user.email lmj@itcast.cn

》如何学习git指令

>学习git指令和SVN指令的学习其实是一样的, 只不过展现的方式不太一样, git是通过使用指南的方式告诉我们某一个指令如何使用

>这个指南其实是一个不可编辑的vim

Q退出指南

按空格下一页

control + B 上一页

/需要搜索的内容 可以进行搜索

git常规指令

》git status 查看文件状态

》git add 添加文件到“暂存区”

》git commit 文件名称   添加文件到”本地仓库“

注意:如果没有在commit后面加上 -m说明修改了什么, 会自动进入vim界面, 要求我们输入修改信息

按键盘上的 i 代表开始输入内容

输入完毕之后按 esc 然后按 :wq

所以: 如果以后在终端中提交最好在后面加上-m

》注意: git中的add和SVN中的add不太一样, SVN中只需要add一次, 而git中每次新建或者修改之后都需要重新add

》1.为添加之前的颜色

红色 代表在”工作区“

》2.添加到暂存区之后的颜色

绿色 代码在”暂存区“

》注意: git默认没有简写指令

》注意: 一般情况下不建议自定义简写指令

》git中的简写称之为起别名

> 查看log

》git log 文件名

》注意: GIt中的版本号是一个”40位“的哈希值, 而SVN中的版本号是一个递增的整数

》已经提交

git reset —hard HEAD^ 返回上一个版本

其中—hard代表强制重置

git reset —hard 版本号(只需要写前7位)

》未提交

git checkout 文件名 回退到上一次提交的版本

git reset —hard HEAD  回退到上一次提交的版, 注意HEAD后面没有尖号^

c9ad690 HEAD@{0}: commit: main.c

7026f99 HEAD@{1}: commit: 输出结果

e950c89 HEAD@{2}: commit: 新增输入

c7bf91c HEAD@{3}: commit: 添加变量

cbd9e52 HEAD@{4}: commit: 删除print函数

45ea44d HEAD@{5}: commit: 添加了printf函数

0da06d8 HEAD@{6}: commit (initial): i

>git reflog  查看所有修改信息(所有版本)

》查看文件被修改的什么地方

】 》git diff 文件名

》如果显示绿色代表新增

》如果显示红色代表删除

远程仓库

SVN需要一个单独的服务器

Git不需要: 文件中、U盘中、云上、github、OSChina...

1.新建git远程仓库

》git init —bare

注意: 这个仓库仅仅是用于管理代码, 不参与开发

2.项目经理初始化项目

》2.1先克隆一份空得仓库到本地

git clone /Users/apple/Desktop/working/公司远程仓库

》2.2忽略不需要加入版本控制器的文件以及文件夹

.gitignore

注意: 配置忽略文件只需要到github上搜索.gitignore拷贝别人写好的代码即可

配置.gitignore一定要在和.git隐藏文件夹同一级的目录下

》2.3生成好.gitignore文件之后, 还需要将.gitignore文件添加到版本控制

git add  .gitignore

git commit .gitignore -m””

》2.4新建项目

》 source conrol—>commit  将代码提交到本地仓库

》source conrol—>push 将代码提交到远程仓库

git中默认就会创建一个分支, 这个分支叫做origin/master, 相当于svn中的trunk

专业人员只需要在git仓库的hooks文件夹中写一些指令, 就可以完成自动测试(压力测试、自动测试、集成测试、冒烟测试、。。。)

》 和SVN一样, 如果服务器仓库的代码被修改了, 我们再提交代码也会报错。

fetch first == out of data

总结:

git和svn最大的区别

》1.git每次修改新增都需要add

》2.git每台电脑都有一个仓库

》3.git是先提交到本地仓库, 再提交到远程仓库

新人服务器搭建

1.新建一个新人服务器

2.初始化仓库

git init --bare

3.添加一个新的远程仓库

source control —> master —>config —>remotes —>add —> add remote

4.将经理最新的代码提交到新人服务器

5.经理分配新人服务器的地址给新人

GIT的分支管理

》在本地代码库给项目打上一个标签

git tag -a v1.0 -m 'Version 1.0’

》查看当前标签

git tag

注意: 此时此刻打上的这个标签仅仅是一个本地标签。(和服务器没有关系)

》将标签添推送到远程代码库中

git push origin v1.0

1.开发

2.发布

3.保存稳定版本

4.继续开发

5.出现bug

6.分配员工到分支上修复bug

>员工从服务器下载最新代码

》员工利用git checkout v1.0指令快速切换到1.0版本

》根据提示:开启一个新的分支开始修复代码

git checkout -b 1.0bug_fix

7.合并修复后的代码到主线

8.备份稳定版本

通过Xcode将代码提交到github上, 把仓库放在github上

=======================================================

》1.注册一个github账号

》2.配置SSH Keys, 只要配置了SSH Keys就可以和github无缝衔接

》点击昵称来到个人主页

》 点击主页中的设置(setting)

》 点击SSH Keys

》点击 generating SSH keys

》1.检查本地的ssh keys

在“用户目录”下 ls -al ~/.ssh

2.如果文件夹不存在需要手动创建一个

mkdir .ssh

3.根据github的提示2生成ssh keys

在.ssh目录下执行 ssh-keygen -t rsa -C "your_email@example.com”

输入完成之后连续按下回车, 知道出现牛逼的图形位置

4.生成完公钥和私钥之后输入

ls -la查看是否生成成功   id_rsa(私钥) id_rsa.pub(公钥)

5.根据提示3获得公钥

pbcopy < ~/.ssh/id_rsa.pub

6.点击 setting —》 ssh key —>add ssh key

将刚才获取到得公钥添加进去

7.更具github第4步提示, 验证公钥

验证成功网页上的灰色圆点会变成绿色

8.拷贝到公钥之后打开github主页

》点击仓库(Repositories)

》再点击new来到github创建仓库界面

9.通过github提供的地址下载一个空得仓库到本地

》创建一个新的项目到本地仓库文件夹中

》利用Xcode提交代码到github

》注意: 要求输入用户名密码时候, 输入的是github上显示的昵称而不是登录账号

=======================================================

现实生活:

运动场 == 物理仿真器

跑步 == 物理仿真行为

人 == 仿真元素

// 1.创建物理仿真器

// 2.创建物理仿真行为

// 3.将物理仿真行为添加到仿真器中

git使用方法1的更多相关文章

  1. Git使用方法(精心整理,绝对够用)转载

    Git使用方法(精心整理,绝对够用)   一.git客户端(本地仓库)的一些操作 1.设置账户(需要和github账户设置一致) git config --global user.name xxx g ...

  2. linux git 安装方法

    最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Window ...

  3. windows 系统安装git的方法

    windows 系统安装git的方法 msysgit是Windows版的Git,从https://git-for-windows.github.io下载 安装默认步骤,一步步安装即可 安装完成后,在开 ...

  4. 转载:CODE CSDN Git 配制方法介绍

    以前一直使用Github,最近看到CSDN出了CODE代码托管功能,由于国内的阿里云服务器很稳定,而且不会被国 墙,所以果断的迁移了,下面就简单的介绍一下CODE的配置使用.其实CSDN的code 何 ...

  5. Linux 下多用户申请git公钥方法

    问题:目前大家多是通过root用户来登录编译机,导致各自生成的公钥相互覆盖,而导致无法无法多人同时使用 解决方法: 登陆编译机添加用户   # useradd -m a00123456 进入切换为自己 ...

  6. Git使用方法

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  7. Git stash方法(转)

    命令:git stash1.使用git stash保存当前的工作现场,那么就可以切换到其他分支进行工作,或者在当前分支上完成其他紧急的工作,比如修订一个bug测试提交. 2.如果一个使用了一个git ...

  8. Git使用方法记录(一)

    记录下git的基本使用方法,这里是以ubuntu14.04为例. 1,使用前的初始设置 git config –global user.name “FirstName LastName” git co ...

  9. 《个人-GIT使用方法》

    使用GIT版本控制工具及基本使用方法(安装,新建,推送,拉取),托管平台的使用方法. Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 ...

  10. Git使用方法2.0

    ## Git来源: 最早开始是由Ruby程序员们发起的.Ruby是日本的家伙搞出来的,日本有个代码托管网站叫heroku,当时用这个的人比较多,现在这个网站还能打开,网址是www.heroku.com ...

随机推荐

  1. 除去ubuntu的grub引导

    除去ubuntu的grub引导 step如下>> 进入ubuntu终端 sudo gedit /etc/defauli/grub 将 #GRUB_HIDDEN_TIMEOUT=0 最前面的 ...

  2. 【算法系列学习】Dijkstra单源最短路 [kuangbin带你飞]专题四 最短路练习 A - Til the Cows Come Home

    https://vjudge.net/contest/66569#problem/A http://blog.csdn.net/wangjian8006/article/details/7871889 ...

  3. VopSdk一个高逼格微信公众号开发SDK

    一.我们的目标 分离基础参数和业务参数. 具有高重用和扩展性. 轻量级. 二.实现目标 (一)分离基础参数和业务参数 仔细分析所有接口,抽离出每个模块接口的公共参数. A.针对微信公众号所有接口分析( ...

  4. poj3020二分图匹配

    The Global Aerial Research Centre has been allotted the task of building the fifth generation of mob ...

  5. 关于mysql表中有大文本limit慢的优化

    问题场景: 商品表goods,里面有几个大文本字段,类型用的MediumText,表中记录28万多.分页查询时用limit,在一般PC上需要12秒左右,这个数量级的数据不应该这么慢. 原因分析: 几个 ...

  6. 如何使用MySQL触发器trigger

    阅读目录:触发器trigger的使用 创建触发器 单一执行语句.多执行语句 new.old详解 查看触发器 删除触发器:慎用触发器,不用就删除 Q:什么是触发器? A: 触发器是与表有关的数据库对象, ...

  7. 分布式开放消息系统(RocketMQ)的原理与实践(转)

    转自:http://www.jianshu.com/p/453c6e7ff81c 分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回 ...

  8. Linux 零拷贝技术

    简介 零拷贝(zero-copy)技术可以减少数据拷贝和共享总线操作的次数,消除通信数据在存储器之间不必要的中间拷贝过程,有效地提高通信效率,是设计高速接口通道.实现高速服务器和路由器的关键技术之一. ...

  9. Lazyman功能实现

    题目要求是这样的: 实现一个LazyMan,可以按照以下方式调用: LazyMan("Hank")输出: Hi! This is Hank! LazyMan("Hank& ...

  10. Java中File

    1.什么是流? Java中的流是个抽象的概念,当程序需要从某个数据源读入数据的时候,就会开启一个数据流,数据源可以是文件.内存或网络等等.2.使用File类操作文件或目录属性 public class ...