【Git入门】 入门级使用操作

本文详细介绍了从SVN迁移到Git的过程,包括Git的优势、工作原理,以及Git与SVN的主要区别。阐述了Git的基本工作流程和个人工作模式,如克隆、提交、推送等操作。此外,还涵盖了Git的安装步骤,如GitLab平台账号注册、生成AccessToken、本地Git客户端安装和配置。最后,提供了Git命令行和IDE集成的常用操作,帮助开发者顺利过渡到Git版本控制系统。
摘要由CSDN通过智能技术生成

公司最近推代码管理由SVN到Git 的迁移,先从入门开始补补课!

目录

一、Git简介

1.Git是目前世界上最先进的分布式版本控制系统(没有之一)。

2.Git优点

3.工作原理

二:SVN与Git的主要区别

三.Git工作流程

2.个人工作流程

四.Git安装

1.GitLab 平台账号注册

2.生成access token

3.本地安装Git客户端(安装包在最后)

4.创建远程仓库(有可用仓库可跳过)

五.克隆远程仓及常用操作

1.Git Bash 命令行克隆远程仓及常用操作

2.IDEA/WebStrom Git配置常用操作


一、Git简介

1.Git是目前世界上最先进的分布式版本控制系统(没有之一)。

2.Git优点

  • 分支切换速度快(一个分支可以理解为一个版本)
  • 容量小(极致的压缩)
  • 简单的设计
  • 完全分布式(去中心化)
  • 对非线性开发模式的强力支持(允许上千个并行开发的分支)
  • 有能力高效管理类似Linux内核一样的超大规模项目

3.工作原理

  • Workspace:工作区                               
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

二:SVN与Git的主要区别

  • SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
     
  • Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

三.Git工作流程

1.仓库间操作

  • Clone:克隆,就是将远程仓库复制到本地;
  • Push:推送,就是将本地仓库代码上传到远程仓库;
  • Pull:拉取,就是将远程仓库代码下载到本地仓库。

2.个人工作流程

  • 从远程仓库中克隆代码到本地仓库(git clone );
  • 从本地仓库中checkout代码然后进行代码修改(git checkout);
  • 在提交前先将代码提交到暂存区(git add);
  • 提交到本地仓库,本地仓库中保存修改的各个历史版本(git commit);
  • 修改完成后,需要和团队成员共享代码时,将代码push到远程仓库(git push)。

四.Git安装

1.GitLab 平台账号注册

2.生成access token

  • 因为采用双因子认证所以需要生成个AccessToken作为后续认证的密码;
  • 路径:右上角个人 -- Setting -- Access Tokens;
  • 填写name和scopes(权限可全部勾选),点create 在最上方Your new personal access token下生成token,需个人保存,作为用户密码去拉取代码;
  • access token可设置多个,忘了也可以登录Gitlab后重新生成新的。

3.本地安装Git客户端(安装包在最后)

  • 网上找个安装包,安装后鼠标右击,如图会多出两个可选项:

                Git GUI     ---Git提供的图形界面工具
                Git Bash   ---Git提供的命令行工具

4.创建远程仓库(有可用仓库可跳过)

  • 登陆GitLab平台,在对应groups下新建一个项目,填写项目名称及描述;

  • 创建项目成功后,在侧边栏Memeber中添加项目成员并分配相应的角色

5.本地环境配置

  • 安装Git后首先要做的事情是设置用户名称和email地址,因为每次Git提交都会使用该用户信息

    设置用户信息,Git Bash >>执行:

$ git config --global user.name “xxxxx”
$ git config --global user.email “xxxxxxx@xxx.com”
  • 查看配置信息:

$ git config --list
$ git config user.name
  • 生成并添加ssh key(公司平台貌似不支持ssh方式,简单搬运)

ssh指secure shell(一种安全的网络协议),git使用这种协议进行远程加密登录。

ssh登录安全性由非对称加密保证,产生密钥时,一次产生两个密钥,一个公钥,一个私钥,在git中一般分别命名为id_rsa.pub, id_rsa

ssh方式单独使用非对称的秘钥进行认证和加密传输,和账号密码分离开来,不需要账号也可以访问repo。

git基于多种传输协议,其中最常用的就是https和ssh。都是为了数据传输安全,那么设置ssh密钥的目的是为了节省输入用户名密码的过程,同时保证传输安全,并不是必须设置。

Git Bash >>  cd 到C盘用户文件夹.ssh文件夹中,没有就新建个,执行命令(xxxxxxxx@xxx.com换成你的邮箱):

$ ssh-keygen -t rsa -C“xxxxxxxx@xxx.com”

ssh-keygen -t rsa -C“xxxxxxxx@xxx.com

然后.ssh里面会生成两个文件:id_rsa和id_rsa.pub,去git平台,右上角个人 - Settings - SSH Keys,将id_rsa.pub中的文件内容粘贴进去,起个名,设个有效期,点add key,配置完成。

五.克隆远程仓及常用操作

1.Git Bash 命令行克隆远程仓及常用操作

##克隆远程仓到本地##

$ git clone <url>    #url --远程Git仓库地址,通常下一步是弹窗账密认证

$ git clone http://<ldap账号>:<accesstoken>@gitlab.it.taikang.com/taikanglife/coredep/ybt/ybtapp.git    #url中带上账密认证

##常用本地仓操作##

$ git status    #查看文件状态

$ git status –s    #使输出信息更加简洁

$ git checkout -- filename    #撤回工作区未添加到暂存区的修改部分

$ git add    #将未跟踪的文件加入暂存区

$ git reset HEAD <file>    #将暂存区的文件取消暂存,重新放回工作区

$ git commit -m "commit message"    #将暂存区的文件修改提交到本地仓库

$ git rm    #删除文件

##常用远程仓操作##

$ git remote    #查看远程仓库

$ git remote add <shortname> <url>    #添加到远程仓库

$ git clone <url>    #从远程仓库克隆

$ git push <remote-name> <branch-name>    #推送到远程仓库

$ git remote rm    #移除无效的远程仓库(只是从本地移除远程仓库的记录,并不会真正影响到远程仓库)

$ git fetch    #从远程仓库获取最新版本到本地仓库,不会自动merge

$ git pull    #从远程仓库获取最新版本并merge到本地仓库

$ git branch --set-upstream-to origin/master master    #将本地分支与远程分支关联

##其他操作##

$ git log    #查看操作记录

$ git log --pretty=oneline    #查看操作记录(单行显示)

$ git log --graph --pretty=oneline --abbrev-commit    #查看分支合并记录

$ git branch    #列出所有分支,当前分支前面会标一个*号

$ git branch <branch_name>   #创建dev分支

$ git checkout <branch_name>    #切换到dev分支

$ git checkout -b <branch_name>    #以上两个命令合并,创建并切换到dev分支

$ git merge <branch_name>    #合并指定分支(dev)到当前分支

$ git merge --no-ff -m "merge with no-ff" <branch_name>    #Git合并默认用Fast forward模式,该模式下,删除分支后会丢掉分支信息,看不到合并记录,所以添加 --no-ff禁用该模式,后面添加合并提交信息

$ git branch -d <branch_name>    #删除dev分支,-D为强行删除

$ git stash    #隐藏当前工作区的修改部分,可用来处理突发工作并提交

$ git stash list    #隐藏部分查看

$ git stash pop    #恢复隐藏部分到工作区,并删除隐藏部分,另一种情况是用git stash apply恢复,但是恢复后stash内容并未删除,需要用git stash drop来删除

$ git stash apply stash@{0}    #可以多次stash,恢复时,先用git stash list查看,然后恢复指定的stash

$ git cherry-pick <commit_id>    #复制一个特定的提交到当前分支,同样适用于处理突发工作并提交

2.IDEA/WebStrom Git配置常用操作

  • Git插件安装及配置
     

    File – Setting – Piugin ,一般默认会有该插件,去已安装里找出并启用即可,没有就安装一个(放了2020.1-2020.1.4 版本区间的插件离线安装包在最后)。

    File – Setting – VersionControl – Git 配置本地客户端安装路径。

  • 克隆远程仓到本地
    菜单栏 – VCS – Get from Version Control  :填写远程仓路径及克隆到的本地文件路径;
    点击克隆会弹出首次认证,填写OA账号及密码(生成的AccessToken);
    认证成功后克隆远程仓到本地作为本地仓,右键有Git常用操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值