一、GitBash安装与使用

参考:

https://www.cnblogs.com/jasonxu19900827/p/7823089.html

二、SourceTree安装与使用

SourceTree安装教程:

https://blog.csdn.net/chang_ge/article/details/80796266

SourceTree使用教程:

https://www.cnblogs.com/tian-xie/p/6264104.html

三、Git常用命令

Git命令大全:

https://www.cnblogs.com/Gxiaopan/p/6714539.html

1.初始化

git init

git config --global user.name "dulingyu"<填写自己的名字>

git config --global user.email dulingyu52@.com<填写自己的邮箱>

git config --list  查看git初始化后的用户信息

git --version   查看git版本信息(git version 2.7..windows.)

2. Git基本命令

加入暂存(索引区): git add  <代码文件>

查看状态概述: git status -s

提交更新: git commit -m “描述”

查看git提交日志: git log

git stash

回滚:git reset <ID>

--soft 缓存区和工作目录都不会被改变

--mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响

--hard     缓存区和工作目录都同步到你指定的提交

查看回滚前的历史log: git relog

查看尚未暂存的文件的变化:git diff  <文件name>

查看暂存区文件的变化:git diff --staged  <文件name>

从版本库中移除:git rm  <文件name>

从暂存区中移除:git rm --cached  <文件name>

git mv 相当于mv git rm git add三个命令

撤销对文件的修改: git checkout --file.txt

建立新分支:git branch <分支name>

建立新分支并切换:git checkout -b <分支name> master

切换分支: git checkout  <分支name>

合并分支:git merge test

查看有哪些分支:git branch –v

查看哪些分支已merged:git branch --merged

查看哪些分支未merged:git branch --no-merged

3. Git远程命令

获取远程库(用于第一次拉取代码):git clone http://xxx.git

(拉取代码,覆盖原有本地代码)git pull  http://xxx.git

(拉取代码,不覆盖原有本地代码)git fetch http://xxx.git

查看有哪些URL远程库地址:git remote -v

添加远程库地址  git remote add  xxx<name>  http://xxx

查看详细信息:git remote show origin

更改库的名字:git remote rename pb paul

上传代码 :git push origin master

:git push <远程库名字>  <分支名字>

给合并后的master或节点打tag:git tag -a v1.0  -m “abc”

对历史打标签: git tag -a v1.2 9fceb02

将标签推向远程: git push origin v1.2

推送多个标签: git push origin --tags

检出标签: git checkout -b version2 v2.0.0

三、GitLab使用

gitlab官方使用文档: https://docs.gitlab.com/

参考博客:https://blog.csdn.net/justlpf/article/details/80681853

https://blog.csdn.net/Adelly/article/details/79099772

1. 用户登录:

在浏览器地址栏输入http://192.168.1.111/(临时登录IP) 回车,进入登陆界面。在登录界面输入用户名及初始登录密码(初始密码为cogrowth),进入更改密码界面,需要更改密码后才能正常登录。登陆后会显示自己所在的group及有权限的projct和下发的任务。

2. 用户权限说明:

Guest(匿名用户) - 创建项目、写留言薄

Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段

Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki

Master(maintainer)(管理者)- 创建项目、写留言薄、拉项目、下载项目、创代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子

Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转移到另一个名称空间、删除项目

3. GitLab配置ssh key

(1)打开本地git bash,使用如下命令生成ssh公钥和私钥对

(2)ssh-keygen -t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址)

然后打开~/.ssh/id_rsa.pub文件(~表示用户目录,比如我的windows就是C:\Users\Administrator),复制其中的内容

(3)打开gitlab,找到USER Settings(点击页面右上角的用户头像下的Settings即可)-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮

(4)到此就完成了gitlab配置ssh key的所有步骤,我们就可以愉快的使用ssh协议进行代码的拉取以及提交等操作了

(5)本地配置多个ssh key大多数时候,我们的机器上会有很多的git host,比如公司gitlab、github等,那我们就需要在本地配置多个ssh key,使得不同的host能使用不同的ssh key ,做法如下(以公司gitlab和github为例:

<1>为公司生成一对秘钥ssh key:ssh-keygen -t rsa -C 'yourEmail@xx.com' -f ~/.ssh/gitlab-rsa

<2>为github生成一对秘钥ssh key:ssh-keygen -t rsa -C 'yourEmail2@xx.com' -f ~/.ssh/github-rsa

<3>在~/.ssh目录下新建名称为config的文件(无后缀名)。用于配置多个不同的host使用不同的ssh key,内容如下:

# gitlab

Host gitlab.com

HostName gitlab.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/gitlab_id-rsa

# github

Host github.com

HostName github.com

PreferredAuthentications publickey

IdentityFile ~/.ssh/github_id-rsa

# 配置文件参数

# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件

# HostName : 要登录主机的主机名

# User : 登录名

# IdentityFile : 指明上面User对应的identityFile路径

<4>按照上面的步骤分别往gitlab和github上添加生成的公钥gitlab_id-rsa.pub和github_id-rsa.pub

<5>再次查看~/..ssh目录下的文件,会有gitlab_id-rsa、gitlab_id-rsa.pub和github_id-rsa、github_id-rsa.pub四个文件

4. GitLab中Issues使用

issues可以用来跟踪任何你想要跟踪的任务。这里的任务可以是待解决的问题,或者待办事项列表,或者将要完成的目标列表。如果issues尚未完成,那么它会保持打开的状态,一旦它被解决,你也可以关闭issues。

登陆Gitlab服务器,切换到想要创建问题的项目,点击Issues,再点击【New issue】,根据情况填写相关问题。

5. Merge Requests

6. Milestones

Git及GitLab使用手册的更多相关文章

  1. 安装git,gitlab和TortoiseGit

    全部都是默认配置安装 需注册用户:用户名尽量好认 测试用户: 注册成功: 生成密钥: 1.首先使用TortoiseGit自带的Puttygen创建本地的公/私钥对 2.点击Generate按钮,在窗口 ...

  2. Eclipse上GIT插件EGIT使用手册

    http://blog.csdn.net/luckarecs/article/details/7427605 Eclipse上GIT插件EGIT使用手册   一_安装EGIT插件 http://dow ...

  3. Jenkins+Maven+Git CI环境搭建手册

    Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...

  4. Eclipse上GIT插件EGIT使用手册ᄃ

    Eclipse上GIT插件EGIT使用手册 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜 ...

  5. 【Git】 GitLab简单使用

    本例介绍简单实用GitLab,安装请参照[Git] GitLab服务器社区版安装与配置 1.用户和组的管理 a.创建组,在首页点击Create a group b.创建用户,在首页点击Add peop ...

  6. 使用git和gitlab进行协同开发流程

    一.基本概念 1.仓库(Repository) ①源仓库(线上版本库) 在项目的开始,项目的发起者构建起一个项目的最原始的仓库,称为origin. 源仓库的有两个作用: 1.汇总参与该项目的各个开发者 ...

  7. Git与GitLab

    Git与GitLab 一.Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个 ...

  8. win10下git与gitlab安装与文件上传

    目前了解到的版本管理工具有三种:gitlab  GitHub 和 码云 个人感觉 gitlab 在公司用的较多 便于协同办公   GitHub各种资源有很多,适合个人使用   码云是中文版 便于入门 ...

  9. Jenkins持续集成git、gitlab、sonarqube(7.0)、nexus,自动化部署实战,附安装包,严禁转载!!!

    导读 之前用的都是SVN,由于工作需要用到Git,求人不如求己,技多不压身,多学一项技能,未来就少求别人一次,系统的学一遍,自己搭建一整套环境,自动化部署(自动发版),代码质量检测等等(为啥不用doc ...

随机推荐

  1. 数据库连接池——Druid

    使用步骤: 1.导包,durid1.0.9 jar包 2.定义配置文件,properties文件,名字任意位置也任意, 3.加载文件 4.获得数据库连接池对象  通过DuridDataSourceFa ...

  2. 使用skipper 扩展fabio 的路由&&http proxy 功能

    skipper 具有强大的http 路由功能,fabio 是一个方便的基于consul 的负载均衡软件, 我们可以方便的使用skipper 路由功能进行fabio的扩展,使用registrator 进 ...

  3. Unity Shader 入门精要学习 (冯乐乐 著)

    第1篇 基础篇 第1章 欢迎来到Shader的世界 第2章 渲染流水线 第3章 Unity Shader 基础 第4章 学习Shader所需的数学基础 第2篇 初级篇 第5章 开始Unity Shad ...

  4. Vue学习入门

    1.安装WebStorm: 2.激活WebStorm:https://blog.csdn.net/qq_40147863/article/details/81317709 3.安装全局脚手架:npm ...

  5. thinkphp本地调用Redis队列任务

    1.安装配置好Redis 2.进入项目根目录文件夹输入cmd进入命令行 3.输入php think 查看php扩展 4.输入 php think queue:listen 启动队列监听

  6. 洛谷 2234 [HNOI2002]营业额统计——treap(入门)

    题目:https://www.luogu.org/problemnew/show/P2234 学习了一下 treap 的写法. 学习材料:https://blog.csdn.net/litble/ar ...

  7. java 加载数据库驱动

    JDBC编程步骤见 JDBC编程步骤 JDBC编程的第一步是加载数据库驱动,使用Class类的forName()方法,Class.forName("com.mysql.jdbc.Driver ...

  8. Linux Tomcat自启动

    1. 修改/etc/rc.d/文件夹下的rc.lcoal 添加如下内容 export JAVA_HOME=/usr/java/jdk/jdk1.7.0_80 export JRE_HOME=$JAVA ...

  9. MySQL触发器详解

    MySQL触发器 触发器是特殊的存储过程.不同的是,触发器不需要手动调用.只要当预定义的事件发生时,会被MySQL自动调用.主要用于满足复杂业务的规则和需求. 一.创建触发器 1.创建只有一个执行语句 ...

  10. C#3.0:新特性

    1.自动属性 下面两种写法作用相同 1 public int Age { get; set;} 1 2 3 4 5 6 private int age; public int Age { get { ...