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

Posted 阿迷创客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了码农日常生活之Git & Gitlab & Gitk相关的知识,希望对你有一定的参考价值。

1.Git和Gitlab

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

2.Git新人课程

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

  • https://learngitbranching.js.org/

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 命令,即可启动图形界面

以上是关于码农日常生活之Git & Gitlab & Gitk的主要内容,如果未能解决你的问题,请参考以下文章

Linux上的gitlab日常操作

GitLab + Jenkins 日常操作

Git入门

git服务器gitlab之搭建和使用

Git & Gitlab 使用指南

Git & Gitlab版本控制系统