GIT学习

本文详细介绍了Git的基本安装与使用方法,包括在不同操作系统上的安装过程、图形客户端的选择与配置、基本的工作流程、分支与合并的使用技巧等。适用于初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装

GitLab角色团队角色权限
Owner技术总监、部门经理所有权限
Master测试管理master/release分支,打标签
Developer研发组长管理develop、feature、hotfix分支
Reporter产品经理、开发人员管理feature、hotfix分支
Guest工程查看wiki

更多权限
http://doc.gitlab.com/ee/permissions/permissions.html

  • 在GitLab上添加 SSH Keys
    • ssh-keygen -t rsa -C ‘xxx@xxx.com’ 注意此处邮箱一定要填写自己的公司邮箱
    • Linux或者Mac 找到~/.ssh/id_rsa.pub文件
    • windows 是C:\Users\Administrator之下.ssh\id_rsa.pub
    • 拷贝内容到GitLab登录>用户图标>Setting>SSH Keys

二、使用

工作流程

image

新建库下载代码

  • 在git服务器上创建库
  • 在本地克隆
$ git clone <repo> <directory>
等效的写法:
$ git clone http://192.168.177.251:8000/test/test-01
$ git clone http://192.168.177.251:8000/test/test-01.git
$ git clone http://192.168.177.251:8000/test/test-01.git test-01

我们建议使用(避免用户名和密码验证)
$ git clone ssh://git@192.168.177.251:222/test/test-01.git
  • 在本机创建库

    • 创建和进入目录后执行命令 $ git init
    • 删除库 $ rm -rf .git
  • 检出其他分支 git checkout origin/< branch >


备注2:面向开源及私有软件项目的托管平台: 
github    https://github.com 
bitbucket https://bitbucket.org

提交代码

  • 名词解释

    • 工作区、暂存区、版本库

    image

  • 提交到本地库

    • 添加到暂存区(索引区) $ git add < path>
    • 退出暂存区 $git rm –cached < path>
    • 查看暂存区状态 $ git status 哪些被删除或者修改过
    • 提交 $ git commit -m ‘xxx’
    • 删除文件 $ git rm < path >
    • 删除文件夹 $ git rm -r < path >
  • 查看远程地址

    • gitremote g i t r e m o t e 或 者 用 git remote -v 默认是名称是origin
  • 关联远程库
    • 关联 $ git remote add origin < repo >
    • 取消关联 $ git remote rm origin
  • 推送到远程仓库
    • $ git push <远程主机名> <本地branch>:<远程branch>
    • $ git push origin < branch >如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名)
      比如 git push origin master
    • 一般使用$ git push 推送当前分支
  • 查看日志
    • $ git log
    • $ git log –pretty=onelin
添加到git忽略, 一般在根目录建立.gitignore文件,定义忽略规则

分支功能

  • 增加分支 $ git branch < branch >
  • 切换分支 $ git checkout < branch >
  • 增加+切换分支 $ get checkout -b < branch >
  • 删除分支
    • 本地 $ git branch -d < branch >
    • 分支还没有被合并,如果删除,将丢失掉修改,如果要强行删除,需要使用命令$ git branch -D < branch>
    • 远程 $ git push -d origin < branch >
  • 查看分支
    • 所有 $ git branch -a
    • 远程 $ git branch -r
    • 本地 $ git branch

合并功能

  • 合并某分支到当前分支 $ git merge < branch >
  • 基变(衍合) $ git rebase < branch >

    • 衍合遇到冲突,解决冲突继续, 然后添加索引文件 gitadd<path>, g i t a d d < p a t h > , 然 后 git rebase –continue
    • 放弃衍合 $ git rebase –abort
  • 获取代码并合并(更新代码) $ git pull

  • 获取代码并衍合 $ git pull –rebase (推荐)
区别:避免菱形,看提交图
  • 只针对某个功能的合并 $ git cherry-pick < commit id > 解决移植代码之痛
备注:分支和合并分支是最常用功能
研发经常需要将develop分支合并到feature分支,将feature分支合并到develop分支
测试将release分支合并到master分支

处理冲突

(略)

标签

  • 作用:它代表修复了一个bug,或者重大的重构,可以对版本的不同阶段做一个标识。他是一个快照,可以快速找到对应时刻的代码。
  • 列出所有本地标签 $ git tag
  • 基于最新提交创建标签
    • $ git tag
    • $ git tag -a -m “”
  • 删除标签
    • 本地 $ git tag -d
    • 远程 $ git push origin :refs/tags/
  • 提交标签到远程仓库 $ git push –tags
  • 检出一个标签的分支 $ git checkout -b

IDE中GIT

  • IDEA 打开本地仓库目录,右下角点击分支,然后checkout切换分支
  • Eclipse中使用右键->Team->Switch To->目标分支
  • 代码是谁添加的 右键 Annotate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值