栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Git版本控制工具

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Git版本控制工具

*★如果文章对你有帮助【关注点赞❤️收藏⭐】一起努力!★* 
六‍ 个人主页:花棉袄

 本章内容:【GIT】学习视频推荐️配套资料
 版权: 本文由【花棉袄】原创在CSDN首发需要转载请联系博主


版本控制工具

 集中式版本控制工具
  李CVS、SVN、VSS
  李这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
 分布式版本控制工具
  Git、Mercurial、…
  服务器断网的情况下也可以进行开发,因为版本控制是在本地进行的
  每个客户端保存的也都是整个完整的项目 ,包含历史记录 更加安全


Git工作机制


代码托管中心

 代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库



Git常用命令
命令名称作用
git config --global user.name 用户名设置用户签名
git config --global user.email 邮箱设置邮箱
git init初始化本地库
git status查看本地库状态
git add 文件名添加到暂存区
git commit -m “日志信息” 文件名提交到本地库
git reflog查看历史记录
git reset --hard 版本号版本穿梭
设置用户签名
git config --global user.name "geniusfox"
git config --global user.email "geniusfox@gmail.com"

 李.gitconfig 文件,打开里面就是我们设置的用户签名

 李Git首次安装必须设置一下用户签名,否则无法提交代码

注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系

 李查看用户签名

git config --global user.name

初始化本地库

  李基本语法:git init会自动生成.git文件

查看本地库状态

  李基本语法:git status 首次查看,工作区没有任何文件

新增文件

  李 语法:vim hello.txt

  李 文件内容输入完毕ctrl+c保存,输入:wq,回车退出

  李git status查询本地库状态

添加暂存区

  基本语法:git add 文件名

提交本地库

  癩基本语法:git commit -m "日志信息" 文件名

修改文件

  基本语法:vim 文件名


  查看版本号:基本语法:git reflog

版本穿梭

  基本语法:git reset --hard 版本号

  切换版本原理

   Git 切换版本,底层其实是移动的HEAD 指针,具体原理如下图所示

   HEAD 指针指向 master 分支,master分支指向 first 版本,

   之后有了 second 版本,master 指针指向 second 版本

   之后有了third 版本,master 指针指向 third 版本


Git分支

  李在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支
  李使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行

分支的操作

git branch:分支名 创建分支
git branch -v:查看分支
git checkout:分支名 切换分支
git merge:分支名 把指定的分支合并到当前分支上

查看分支

  癩基本语法:git branch -v

创建分支

  基本语法:git branch 分支名

切换分支

  基本语法:git checkout 分支名

修改分支

合并分支

  基本语法:git merge 分支名

  产生冲突时:编辑有冲突的文件,删除特殊符号,决定要使用的内容

  特殊符号:<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>>hot-fix
  删除完成之后保存,再次添加到暂存区,并再次提交到本地库(注意:此时使用 git commit 命令时候不能带文件名)


綾GIT原生命令

 git remote -v:查看当前所有远程地址别名
 git remote add 别名 远程地址:起别名
 git push 别名 分支:推送本地分支上的内容克隆到本地
 git clone 远程地址:将远程仓库的内容克隆到本地
 git pull 远程库地址别名 远程分支名:将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并


阮SSH免密登录

 阮设置用户名称和登录邮箱

 git config --global user.name "用户名"
 git config --global user.email "邮箱"

 阮生成密钥

ssh-keygen -t rsa -c 邮箱

 阮获取密钥

cat ~/.ssh/id_rsa.pub

IDEA集成Git 添加忽略配置文件

 添加忽略配置文件:git.ignore

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (
.mtj.

# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

 在 .gitconfig 文件中引用忽略配置文件(.gitconfig 在家目录中)

[core]
	excludesfile = C:/Users/miram/git.ignore
IDEA初始化本地库


默认创建的 git 仓库就是我们打开的项目所在的目录,我们添加了 git 仓库之后。

添加到暂存区之后变成绿色,表示只是提交到暂存区,未提交到本地仓库。

提交到本地仓库


切换版本

在IDEA的左下角,点击 Git,然后点击 Log查看版本,右键选择要切换的版本,然后在菜单里点击 Checkout Revision


创建分支


然后再 IDEA的右下角看到 fox,说明分支创建成功,并且当前已经切换成 fox分支

合并分支

在IDEA窗口的右下角,将 hot-fix分支合并到当前 master分支。
如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库

合并分支冲突

如图所示,如果master分支和 hot-fix分支都修改了代码,在合并分支的时候就会发生冲突。


丹IDEA集成Github

 首先使用idea登录gthub账号

 分享到github

 创建远程仓库

丹push推送本地库到远程库

丹pull拉取远程库到本地库

 注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push的操作是会被拒绝的。
 要想 push成功,一定要保证本地 库的版本要比远程库的版本高!
 一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!

丹clone克隆远程库到本地库


IDEA集成Gitee配置相同

☕码云复制Github项目


将 GitHub的远程库 HTTPS链接复制过来,点击创建按钮即可。

*★如果文章对你有帮助【关注点赞❤️收藏⭐】一起努力!★* 


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/888019.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号