码农日常生活之Git & Gitlab & Gitk

简介: 本文是关于Git和GitLab的配置使用教程,包括基础设置、日常命令操作以及图形工具的使用。

1.Git和Gitlab

  • Git是版本管理工具
  • Gitlab是管理Git仓库、用户、权限等功能的基于WEB的工具

2.Git新人课程

对Git还不熟悉的同学,推荐使用下面的课程练习

3.Git & Gitlab配置

3.1 设置git用户信息

  git config --global user.name  your_name
  git config --global user.email  your_email

3.1 生成RSA公私钥

  • 为了能使用公钥免密访问Gitlab上的仓库,下载代码,提交代码;我们需要创建RSA密钥对,并将公钥信息填入到Gitlab的设置中。
szhou@dell-PowerEdge-R740:/home/szhou$ ssh-keygen  -t rsa -C "your_email@your_email.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/szhou//.ssh/id_rsa):
/home/szhou//.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/szhou//.ssh/id_rsa.
Your public key has been saved in /home/szhou//.ssh/id_rsa.pub.
The key fingerprint is:
9b:1e:cb:51:95:6b:21:e5:70:7a:73:c7:02:55:3b:ee your_email@your_email.com
The key's randomart image is:
+--[ RSA 2048]----+
|          . +....|
|           * o ..|
|          o B ooo|
|           + =.o.|
|        S . o  . |
|         + .  .  |
|        =      E |
|       o +       |
|        +        |
+-----------------+
szhou@dell-PowerEdge-R740:/home/szhou$ cat .ssh/id_rsa
id_rsa      id_rsa.pub  
szhou@dell-PowerEdge-R740:/home/szhou$ cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCPbSJEyZKSgvYZRlglaCapIOg3ENxzsa4QtQCmx760d4RPa3XNfcVMFBUlNoNl0xfgQ4X5lE3VkP1MDqyGDE1JwgJy7pJx/ON6Y3Rm4XyzonGuTjvjOFJPnFxytyybWaCqzmQ1HHKJ3IxaI9dtv1QiZ0feNKkRAQ9akZuS9zqJe8IMvPcv76uvrsNC+U9E7lEomsR7CWftKRzu3WyhZ0Pze7ek966CPGcrnmqBpMvNKOvzy41XoNselsz5MMMMM38rHgeKyfX4cUkWkzvmCrdLTdhA2F5iK5bLEYq48LzHMO9bJJ/KL5GBuc/kQaSnBIdKVioihr3Or3UB1cpEv4r your_email@your_email.com

3.2 将公钥添加到Gitlab

  1. 访问Gitlab

  2. 点击右上角 Profile Settings

  3. 点击 SSH Keys Settings

  4. 点击右上角 Add SSH Key

  5. 将 cat .ssh/id_rsa.pub 的结果添加进去

4.Git日常命令

日常命令,举例说明。

4.1 git clone

从服务端下载项目代码,例如下载雪豹的android代码,相关路径可到自己的gitlab中去获取,若不存在,则说明没有权限

  git clone git@xxxx/xxxx.git

4.2 切换分支

  git checkout -b branch_name     直接checkout origin/branch_name, 并串接本地分支branch_name
  git checkout branch_name    若本地分支branch_name已存在,则可以直接切过去

4.3 查看分支信息

  git branch -a   其中带*号的为当前所在分支

4.4 提交代码流程

  git pull    #从服务器拉取代码
  git status  #查看有哪些文件被修改
  git add your_modified_file       #添加要提交的文件
  git commit -m "按格式写描述"      #在本地提交修改
  git push origin master           #将master的修改推送到origin远程仓库

4.5 重置本地代码

  git clean -df           #清除所有未被track的文件
  git reset --hard HEAD   #丢弃所有未提交的修改,并将当前代码对齐到HEAD
  git pull                #从远程拉取最新代码,并合并到本地

4.6 打TAG

  git tag TAG_NAME 71aab7a   #创建Tag,指向CL#71aab7a
  git push origin TAG_NAME   #将TAG推送到origin
  git push origin --tags   #将所有tags推送到远程仓库origin

4.7 git lg

  • 非常好用的配置,查看log更顺眼
  • 原理就是自定义一个git lg命令,其具体实现,是通过git log后加上很多参数
 git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

git lg

5. 使用gitk图像工具

  • 相对于windows版本的图形工具而言,Gitk的数据显示速度非常快,和直接在Linux敲命令速度差不多,在需要查看多条commit的时候,用此工具效率较高。
    gitk图形化工具

5.1 配置gitk步骤

  1. 配置SecureCRT,选择自己的SSH,打开X11转发
  2. 安装Xming Server,安装后直接点击启动,在右下角会有Xming图标,用于接收X11转发过来的数据,并渲染成图形界面
  3. 打开SecureCRT,SSH连接上服务器,切换到代码目录下
  4. 输入$gitk 命令,即可启动图形界面
相关文章
|
Shell 网络安全 开发工具
手把手教你配置Git客户端上传代码至Gitlab仓库
手把手教你配置Git客户端上传代码至Gitlab仓库
283 1
手把手教你配置Git客户端上传代码至Gitlab仓库
|
4月前
|
开发工具 git
[git]记配置本地git到gitlab并推送
[git]记配置本地git到gitlab并推送
|
4月前
|
Linux 开发工具 git
[git]基于GitLab搭建本地Git服务
[git]基于GitLab搭建本地Git服务
|
6月前
|
开发工具 git
idea中git替换,推送到新的github或者gitlab上面
idea中git替换,推送到新的github或者gitlab上面
612 2
|
开发工具 数据安全/隐私保护 git
git: 修改gitlab仓库提交地址
git: 修改gitlab仓库提交地址
411 0
|
7月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
209 0
|
7月前
|
存储 Linux 网络安全
Git - Centos7下安装GitLab服务器
Git - Centos7下安装GitLab服务器
166 1
|
7月前
|
网络安全 开发工具 数据安全/隐私保护
Git - 记一次完整的新旧Gitlab迁移
Git - 记一次完整的新旧Gitlab迁移
450 0
|
7月前
|
开发工具 git
hbuilderX安装git插件→拉取线上gitlab项目
hbuilderX安装git插件→拉取线上gitlab项目
|
Linux Shell 网络安全
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(下)
CentOS7上使用GitLab搭建私有git代码仓库(超详细)(下)
223 1