工作后——Git的使用总结

Posted 长不大的大灰狼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作后——Git的使用总结相关的知识,希望对你有一定的参考价值。

一、Git简介、安装及初步配置

1、版本控制分类
  • 本地版本控制: 每次文件更新,可以对文件做一个快照,或是记录补丁文件。
  • 集中版本控制:所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改,一旦服务器损坏,就会丢失所有数据。比如:SVN
  • 分布式版本控制:所有版本信息全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器。当服务器损坏时,只要有一个用户的设备没有问题就可以恢复所有的数据。比如:Git
2、版本控制工具git的作用
  • 版本控制:利用git来开发,可以进行版本回退。
  • 协同开发:多人分模块共同完成一个项目,是每个程序猿的必备技能。

git教程:Git教程

3、Git安装

首先要安装:git for windows(git的命令行版本),也可以使用淘宝镜像进行下载:http://npm.taobao.org/mirrors/git-for-windows/

接着再安装:tortoise git(git的图形界面)

注意:
两个工具安装完毕后, 需要重启电脑才能正确使用.

4、Git初步配置

(1)设置用户名和邮箱
在gitbash命令行下进行配置用户名和邮箱。用户名和邮箱需要与远程仓库一致。

git config --global user.name "Jery"
git config --global user.email "Jerry@qq.com"

注意:

  • 配置文件为.gitconfig
  • 一般可以作为远程仓库的平台有:Gitee、Github、Gitlab等等。

(2)配置SSH公钥
配置了公钥之后你的机器和 github 通信的时候 ,github 就可以通过公钥识别出你是可信赖用户,这样就不需要每次 git 和 github 通信的时候都要输入密码了。同时,也保证了数据传输的安全性。

生成SSH Key:ssh-keygen –t rsa –C "你的邮箱@xx.com"
弹出选项时,一路回车即可。

将生成的公钥信息(/root/.ssh/id_rsa.pub中的文本),添加到远程仓库的公钥中即可:

5、Git理论

(1) Git本地有四个工作区域:

  • 工作目录(Working Directory):平时存放项目的文件夹

  • 暂存区(Stage) : 暂时存放修改的文件

  • 本地仓库(Repository) :保存了所有版本的数据

  • 远程的git仓库(Remote Directory): 托管代码的服务器


(2) Git的工作流程:

  • 在工作目录中添加或者修改文件;
  • 将需要进行版本管理的文件放入暂存区(git add .
  • 将暂存区中的文件提交到本地仓库(git commit -m " 描述"
  • 上传到远程仓库(git push

    注意:
    git add xx文件名,将某个文件提交到暂存区;
    git add . 将所有未提交的文件提交到暂存区;

二、与远程仓库建立连接

1、先有本地库

先有本地库,后有远程库,需要先将本地库push到远程库。
(1)创建本地仓库
在需要创建仓库的文件夹下输入命令,将当前目录变为仓库。

git init

注意:
创建好后会有一个,git文件,仓库的版本信息都在这个文件里面

(2)与远程仓库建立连接

git remote add origin 远程仓库地址  #和远程仓库建立连接
git remote -v  # 查看当前仓库的连接信息
git remote rm origin # 解除本地和远程的绑定关系

注意:
origin是远程仓库的名字

远程仓库地址如下:

2、先有远程库

先有远程库,后有本地库,从远程库clone到本地库。
从远程库克隆到本地
git clone 网站上的仓库地址

注意:
如果选择SSH协议,必须将Ubuntu的公钥添加到GitHub上。

三、tortoise git的使用

1、创建仓库并填写仓库信息



注意:

  • 选中Initialize,会在创建项目时新建一个Readme文件,用来做项目说明
  • 在gitignore中填写Java可以滤除项目中的一些不必要文件如.class等
2、克隆

在创建好的项目中点击Clone or download,可以看到HTTPS对应的地址,我们可以利用该地址进行clone或者download。

(1) 复制刚才创建好的项目的链接
(2) 打开指定的需要放置项目的目录
(3) 右击目录, 点击Git Clone
(4) 在弹出的对话框中输入刚才复制的项目链接即可.

项目中的文件下载成功, 会出现绿色图标.

3、对本地项目文件进行版本管理

(1)提交给git管理
右键项目文件,点击TortoiseGit>>>Add,然后选择需要管理的文件。

此时文件变为红色感叹号,表示文件已被git管理,但是未提交内容。

(2)将修改内容提交到本地
每提交一次, 就是一个版本. 比如开发完某个功能模块, 就可以进行提交. 后续进行版本回退都是以提交的版本为准.
红色叹号文件右键,点击Git Commit -> “master”…

此时弹出了一个对话框. 可以在此处看到需要提交哪些文件, 以及每个文件的具体改动情况. 并且需要输入提交日志Message. 描述这次提交的具体改动原因是什么. 这个日志是后续进行版本回退的重要参考依据.


点击commit完成提交。

注意:

  • 此时只是提交到本地, Github 上还看不到代码变更.

(3)将项目提交到服务器
提交的内容需要同步到服务器上, 才能在Github上看到。 右键需要提交的目录, 点击TortoiseGit->push。

此时刷新GitHub页面就可以看到我们提交的目录了。

四、IDEA集成Git

1、基本操作

(1)将git集成进IDEA开发工具

(2)使用IDEA连接Git远程仓库

此时idea中自动出现了git相关的操作以及控制面板:

不推荐使用git操作按钮,我们直接在 terminal面板 进行操作即可(add、commit、push)

git add hello.java       //将hello.java添加到暂存区
git add .  //将所有未暂存的添加到暂存区
git commit -m "hello测试文件"  //将变动提交到本地仓库
git push     //将本地仓库提交到gitHab
2、协同开发——分支管理

(1)新建分支
当前在哪个分支上,新建出来的分支就是基于哪个分支建立的。

新建的分支commit/push后,会在gitee上显示出来:

(2)切换分支

(3)commit/push/历史版本记录:

(4) 合并分支
Merge:切换到主分支,将主分支的最新变化pull到本地,然后切换回自己的分支进行commit后就可以进行Merge合并操作了。

左边是自己维护的分支,右边是主分支,中间是最后合并后的结果。红色代表两方都改动了同一片代码,存在冲突;绿色代表新增代码,双方没有冲突;蓝色代表原代码一方有改动。

五、常用命令

基本查看命令:

git --version         #查看git的版本信息
git config -l         #查看配置
git status [filename] #查看指定文件状态
git status            #查询仓库状态

连接命令

git init                          #创建本地仓库
git remote add origin 远程仓库地址 #和远程仓库建立连接
git remote -v                     #查看当前仓库的连接信息
git remote rm origin              #解除本地和远程的绑定关系
git clone [url]                   #克隆

基本操作

git add 文件名 #将文件添加到暂存区
git add .  #将所有改动的文件添加到暂存区
git commit –m "描述"`#将暂存区提交到本地仓库

版本信息

git log               #查看仓库历史记录
git diff 文件名       #比较文件差异(在git add之前使用)
git reflog           #查看所有版本的commit ID
                     #HEAD0,HEAD1即为版本ID

撤销命令:

git checkout -- 文件名  #撤销工作区的修改
git reset HEAD 文件名 #撤销暂存区的修改
git reset --hard 该版本ID #回退到历史版本
git reset --hard HEAD^  #回退到上个版本

注意:

  • 版本回退,也是以commit为基准的。
  • 上上版本是HEAD^^,也可用HEAD~2表示,以此类推。

分支常用命名:

git branch  # 列出所有本地分支

git branch -r # 列出所有远程分支

git branch -a #列出所有分支

git branch [branch-name]  # 新建一个分支,但依然停留在当前分支

git checkout -b [branch]  # 新建一个分支,并切换到该分支

git checkout branchName   #切换分支

git checkout -f branchName  #强制切换分支

git merge [branch]  # 合并指定分支到当前分支

git branch -d [branch-name] # 删除分支

git push origin --delete [branch-name] # 删除远程分支

以上是关于工作后——Git的使用总结的主要内容,如果未能解决你的问题,请参考以下文章

git在工作中的使用总结

git命令使用总结

Git常用命令总结

git常用命令总结

git 使用 总结

Git 使用总结