git 操作

                                         git 操作

1 覆盖情况

git 操作

 

两个人分别提交之后会覆盖另一个人

 2 版本控制的功能

git 操作

这个地方还要细细看看git 与 svn的区别

 

版本控制是一种思想      具体的实现有 git  svn

git(分布式  本地完整版本控制)   本地有完整的版本历史

svn (集中式)  服务器一旦出现问题  (单点故障)   

3 git  github历史

git 操作

4 git优势

git 操作

 

1 本地有完整的历史

2 每一次提交的操作进行hash的计算

5 git结构

git 操作

 

git 操作

git 操作

 

6 git 和代码托管中心

帮我们维护远程库

git 操作

7 本地库和远程库交互方式

团队内

git 操作

 

团队外

git 操作

本地git 与远程github连接

一、注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。步骤如下:

1、打开https://github.com 直接在首页上注册

git 操作

2、点按钮注册成功之后,在页面上方用户菜单上选择 “+”->New repository 创建一个新的仓库

git 操作

3、为仓库取一个名字,点击创建仓库按钮 你将成功创建一个仓库

git 操作

二、安装git客户端

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,

windows用户请下载 http://msysgit.github.com/

mac用户请下载 http://code.google.com/p/tortoisegit/

一路next,安装成功后, 回到C盘,或任何文件夹下,点鼠标右键会多出一些菜单

如Git Bash here、Git Gui , 说明安装成功。

 

三、配置Git

我们先在电脑硬盘里找一块地方存放本地仓库,比如我们把本地仓库建立在C:java\git文件夹下

进入git文件夹 鼠标右键操作如下步骤:

1)右键Git Bash进入git命令行,截图效果如下:

git 操作

为了保险起见,我们先执行git init命令

$ git init

git 操作

为了把本地的仓库传到github,还需要配置ssh key。

2)在本地创建ssh key

$ ssh-****** -t rsa -C "[email protected]"

后面的[email protected]改为你的邮箱。我的邮箱是[email protected]

git 操作

直接点回车,说明会在默认文件id_rsa上生成ssh key。 

然后系统要求输入密码,直接按回车表示不设密码

重复密码时也是直接回车,之后提示你shh key已经生成成功。

git 操作

然后我们进入提示的地址下查看ssh key文件。 我的电脑的地址是C:\Users\sihai\.ssh ,其中sihai是我的电脑的名称

 

git 操作

打开id_rsa.pub,复制里面的key。里面的key是一对看不懂的字符数字组合,不用管它,直接复制。

回到github网站,进入Account Settings,左边选择SSH Keys,Add SSH Key,

git 操作

 

 

title随便填,粘贴key。

git 操作

3)验证是否成功,在git bash下输入

 

$ ssh -T [email protected]

回车就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

4)接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们

 

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

$ git config --global user.email "[email protected]"

 

5)进入要上传的仓库,右键git bash,添加远程地址

 

$ git remote add origin [email protected]:yourName/yourRepo.git

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

git 操作

 

与github上的对应

 

git 操作

好了,到现在已经将本地的git和GitHub连接起来了。

8 设置签名

项目级别

git 操作

 

系统用户级别

git 操作

git 操作

git 操作

git 操作

9 查看状态

git 操作

未追踪的

git 操作

已经提交到暂存区了

git 操作

从暂存区删除了

10 日志

git 操作
Head是当前的指针

 

git 操作

每次只显示一行

git 操作

git 操作

11 前进或者后退历史版本

git 操作

 

git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,

git log则不能察看已经删除了的commit记录,而且跟进结果可以回退道某一个修改:

git 操作

Git reset –hard 9a9ebe0

回退到哪个版本

git 操作

其它的后退操作

git 操作

git 操作

git 操作

git 操作

git 操作

hard mixed soft对比

git 操作

git 操作

Soft

git 操作

mixed

git 操作

git 操作

hard

git 操作

12 永久删除文件找回

git 操作

 

git reset HEAD 是将咱暂存区和HEAD的提交保持一致

git reset --hard HEAD 是将工作区、暂存取和HEAD保持一致

13 比较文件

git 操作

git 操作

显示行号

git 操作

14分支

git 操作

 

git 操作

Git 分支比svn效率高

 

查看有多少分支

git 操作

创建分支

现在,你已经决定要解决你的公司使用的问题追踪系统中的 #53 问题。 想要新建一个分支并同时切换到那个分支上,你可以运行一个带有 -b 参数的 git checkout 命令:

$ git checkout -b iss53

Switched to a new branch "iss53"

它是下面两条命令的简写:

$ git branch iss53

$ git checkout iss53

然后在新的分支上进行操作

git 操作

合并到主分支

1 切换到主分支

git 操作

2 Merge到主分支了

合并冲突解决

git 操作

Head 当前分支的内容

 

====到master为另一个的内容

 

15 Git原理

哈希

git 操作

git 操作

git 操作

数据管理机制

SVN

git 操作

Git

git 操作

Git 文件管理机制细节

git 操作

 

最右边就是提交时的各个文件,中间就是文件树,左边就是提交对象

git 操作

Git如何管理分支

 

 

git 操作

git 操作

git 操作

git 操作

16 github

git 操作

 

git 操作

推送的时候设定推送地址

git 操作

拉取操作

git 操作

 

协同开发解决冲突

git 操作

以上状态就是有冲突了

 

跨团队协同开发

1 Fork

git 操作

2发起pull request

git 操作

 进行审批  

git 操作

看看修改过哪些

git 操作

4合并

 

git 操作

5 然后拉取到本地

ssh免密登陆

git 操作

git 操作

17 编译器与git进行绑定

Eclipse

git 操作

git 操作

git 操作

右击项目  team  commit

git 操作

 

git 操作

git 操作git 操作

git 操作

git 操作

git 操作

git 操作

git 操作

git 操作

Eclipse中解决冲突

git 操作

git 操作

和beyongCompare差不多

git 操作

对比

git 操作

拉取分支

git 操作

合并

git 操作

git 操作

 

 

18  忽略文件

git 操作git 操作

 

git 操作

Gitignor文件需要设置的东西

#.gitignore常用格式
# *.a 忽略所有 .a 结尾的文件
# !lib.a 但 lib.a 除外
# /TODO 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
# build/ 忽略 build/ 目录下的所有文件
# doc/*.txt 会忽略 docgit 操作tes.txt 但不包括 docgit 操作rver/arch.txt

 

配置文件

git 操作

git 操作

git 操作

19 工作流

git 操作

 

git 操作

 

git 操作

git 操作

分支种类

git 操作

git 操作

20 gitlab搭建过程

centos 

上传gitlab

git 操作

git 操作

git 操作

1新建一个脚本文件

git 操作

2安装命令放到脚本里面

git 操作

改权限可以执行的

git 操作

执行

git 操作

重启

git 操作

看看防火墙

git 操作

git 操作

Ubuntu

1.安装依赖包

sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates

2. 邮件配置

选择Internet那一项,不带Smarthost
sudo apt-get install -y postfix

3. 添加镜像

免费版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
企业版
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

4. 安装

sudo apt-get update
sudo apt-get install gitlab-ce 或者 sudo apt-get install gitlab-ee

5. 配置访问路径

sudo -e /etc/gitlab/gitlab.rb
修改下图中的路径

git 操作

6. 更新配置

sudo gitlab-ctl reconfigure

7. 重新启动gitlab

sudo gitlab-ctl restart

结果如下图

6. 更新配置

sudo gitlab-ctl reconfigure

7. 重新启动gitlab

sudo gitlab-ctl restart

结果如下图

git 操作

8. 打开 sshd 和 postfix 服务

service sshd start
service postfix start

9. 查看gitlab服务器状态

sudo gitlab-ctl status

10. 结果

在浏览器中访问http://127.0.0.1

git 操作

21更改git  url

git 操作

查看更改后的

git 操作