GIT:git 教程

这篇具有很好参考价值的文章主要介绍了GIT:git 教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 版本控制

版本控制(Revision Control)用于在开发过程中管理文件修改历史,方便查看备份

它的作用如下:

  1. 实现跨区域多人协同开发。
  2. 追踪和记载一个或者多个文件的历史记录。
  3. 组织和保护你的源代码和文档。
  4. 统计工作量。
  5. 并行开发、提高开发效率。
  6. 跟踪记录整个软件的开发过程。
  7. 减轻开发人员的负担,节省时间,同时降低人为错误。
    简而言之就是用于管理多人协同开发的技术。

1.1Git 与 SVN 区别

SVN 是集中式版本控制系统,版本库是放在中央服务器的。

GIT:git 教程
工作的时候,首先要从中央服务器得到最新的版本,完成工作后,需要把自己的代码推送到中央服务器。集中式版本控制系统是必须联网才能工作,且对网络带宽要求较高。

Git 是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库。

GIT:git 教程
工作的时候不需要联网,因为版本都在自己电脑上。待有网络后,把本地的版本推送到远程即可。

1.2 Git工作流程图

GIT:git 教程

命令如下:

clone(克隆): 从远程仓库中克隆代码到本地仓库

checkout (检出):从本地仓库中检出一个仓库分支然后进行修订

add(添加): 在提交前先将代码提交到暂存区

commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本

fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。

pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge

push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库

2. Git的下载与安装

本教程里的git命令例子都是在Git Bash中演示的,会用到一些基本的linux命令,在此为大家提前列举:

ls/ll 查看当前目录 ll是查看当前文件夹下的所有文件,包括隐藏文件

cat 查看文件内容

touch 创建文件

vi vi编辑器(使用vi编辑器是为了方便展示效果,学员可以记事本、editPlus、notPad++等其它编辑器)

2.1 下载

方式一:打开 Git 官网,点击 Download for Windows(由于国内网络限制,一般下载会很缓慢)。

方式二:国内可以使用 淘宝镜像下载 或者 华为镜像下载(其他的国外资源也都可以在这两个镜像下载)。

2.2 安装

2.2.1、傻瓜式安装一路下一步

GIT:git 教程

3 Git的启动

GIT:git 教程
GIT:git 教程
备注:

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

3.1 配置

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

Git版本控制要记录哪个人什么时候做了什么事情,Git就是通过邮箱去辨识是哪个人的

所有的配置文件,其实都保存在本地。

Git\etc\gitconfig:Git 安装目录下的 gitconfig,存储系统级配置。
C:\Users\Administrator.gitconfig:用户目录下的 gitconfig,只适用于当前登录用户的配置。
当安装 Git 后首先要做的事情是设置用户名称邮箱地址。每次 Git 提交都会使用该信息,它会被永远的嵌入到操作记录中。

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

--global参数为全局配置,Git 将总是会使用该配置来处理用户在系统中所做的一切操作。如果希望在特定项目中使用不同的用户名或邮箱,可以在该项目中运行该命令不加 --global 参数。

以上操作也可以通过编辑 C:\Users\用户名.gitconfig 文件来实现,效果完全一致。

3.2 查看配置信息

git config --global user.name

git config --global user.email

4 Git理论知识

4.1 四个区域

Git 本地有 3 个工作区域

工作目录(Workspace):存放项目代码的地方。
缓存区(Stage):存放临时的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
资源库(Repository):安全存放数据的位置,这里面有提交到所有版本的数据。其中 HEAD 指向最新放入仓库的版本。

Git 远程有 1 个工作区域

远程库(Remote):托管代码的服务器,可以简单的认为是项目组中的一台电脑,用于远程数据交换。

文件在这四个区域之间的转换关系如下:
GIT:git 教程

5. 仓库搭建

5.1 搭建本地仓库

要使用Git对我们的代码进行版本控制,首先需要获得本地仓库

1)在电脑的任意位置创建一个空目录(例如test)作为我们的本地Git仓库
2)进入这个目录中,点击右键打开Git bash窗口
3)执行命令git init
4)如果创建成功后可在文件夹下看到隐藏的.git目录。
GIT:git 教程

5.2 克隆远程仓库

我们还可以克隆创建好的远程仓库到本地仓库,这种方式是将远程服务器上的仓库完全镜像一份至本地,就像克隆,所以使用 git clone

git clone +仓库地址

5.3 本地项目上传到远程仓库

大家可以看这篇文章 如何将本地文件上传到Gitee

6. 基础操作指令

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git

的命令而发生变化。

6.1 查看修改的状态(status)

  • 作用:查看的修改的状态(暂存区、工作区)
  • 命令形式:git status

6.2 添加工作区到暂存区(add)

  • 作用:添加工作区一个或多个文件的修改到暂存区
  • 命令形式:git add 单个文件名|通配符
  • 将所有修改加入暂存区:git add .

6.3 提交暂存区到本地仓库(commit)

  • 作用:提交暂存区汇总所有内容到本地仓库的当前分支
  • 命令形式:git commit -m ‘注释内容’

提交时候添加的备注会被放到日志中
提交完后显示缓冲区没有东西可以提交了

6.4 版本回退

撤回到之前的某个操作,他回去删除我们撤回到位置之后的版本

作用:版本切换
命令形式:git reset --hard commitID
commitID 可以使用 git-log 或 git log 指令查看

如何查看已经删除的记录?

git reflog
这个指令可以看到已经删除的提交记录

我们可以在reflog里面知道删除文件的id,我们可以直接使用命令git reset --hard commitID 还原

所以git reset --hard commitID既可以做版本回退,也可以做版本还原

6.5 忽略文件

有时候我们不想把某些文件纳入版本控制中,比如数据库文件、临时文件、设计文件等。

在主目录下建立 .gitignore 文件,此文件有如下规则

  • 忽略文件中的空行或以 # 开始的行代表注释行,将会被忽略。
  • 可以使用 Linux 通配符。例如:* 代表任意多个字符,? 代表一个字符,[ ] 代表可选字符范围,{ } 代表可选的字符串。
  • 如果名称的最前面有一个 !,表示例外规则,将不被忽略。
  • 如果名称的最前面是一个 /,表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  • 如果名称的最后面是一个 /,表示要忽略的是此目录下的所有文件。
*.txt        # 忽略所有 .txt 结尾的文件,这样的话上传就不会被选中。
!lib.txt     # lib.txt 除外
/temp        # 仅忽略项目根目录下的 temp 文件,不包括其它 temp 目录。
build/       # 忽略 build/ 目录下的所有文件。
doc/*.txt    # 忽略 doc/notes.txt 但不包括 doc/server/arch.txt。

7.分支

7.1 概述

分支用于管理不同的线路的版本内容。类似于科幻电影里面的平行宇宙,如果两个平行宇宙互不干扰,那就没什么影响;如果在某个时间点,两个平行宇宙合并了,就需要处理一些问题了。

7.2 命令

  • 列出所有本地分支:
git branch

*号表示所在的分支

  • 列出所有远程分支:
git branch -r
  • 新建分支

新建本地分支并停留

git branch 分支名

新建本地分支并切换

git checkout -b 分支名

新建远程分支:

git push origin 远程分支名:本地分支名

建议两个分支同名,方便管理。

7.3合并分支

合并本地分支到当前分支:

git merge 分支名

合并远程分支到当前分支则加上 origin/

git merge origin/分支名

删除本地分支:

git branch -d 分支名

删除远程分支:

git branch -dr [remote/branch]
或者
git push origin --delete [branch-name]

7.4 冲突解决

如果同一个文件在合并分支时本地和远程都修改了则会引起冲突。解决的办法是修改冲突文件后重新提交。这里就要做出选择,保留别人的代码还是自己的代码还是综合各自的代码。

master 作为主分支应该非常稳定,用来发布新版本,一般情况下只允许合并,不允许修改。开发工作一般情况下从 master 上新建 dev 分支进行开发,开发完成后,如需上线发布,dev 分支代码再合并到 master 分支上来。

8 在Idea中使用Git

8.1 在Idea中配置Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:
GIT:git 教程
GIT:git 教程

点击Test按钮,现在执行成功,配置完成

8.2 在Idea中操作Git

场景:本地已经有一个项目,但是并不是git项目,我们需要将这个放到码云的仓库里,和其他开发人员继续一起协作开发。

8.2.1 创建项目远程仓库

GIT:git 教程

8.2.2 初始化本地仓库(将当前项目初始化为仓库)

在idea中创建文件的时候,它会询问你是否要将文件添加到git中,修改文件的时候,idea会自动帮我们去add,我们只需要去commit就好了
GIT:git 教程
此时我们的项目目录就变成了一个本地仓库
GIT:git 教程

绿色的文件代表已添加到git中
爆红的文件没有被添加到git当中,被Git识别为冲突文件
灰色的文件代表已忽略的文件,可以在gitignore文件中配置

8.2.3 设置远程仓库

远程仓库名默认为origin
GIT:git 教程

8.2.4 提交到本地仓库

GIT:git 教程

8.2.5 推送到远程仓库

在将本地仓库的修改推送到git远程仓库的时候,我们要先pull,先拿到此时远程仓库的版本信息,再去此版本信息上修改
GIT:git 教程

8.2.7 克隆远程仓库到本地

GIT:git 教程

8.2.8 创建分支
  • 最常规的方式
    GIT:git 教程
  • 最强大的的方式
    GIT:git 教程

9. IDEA常用GIT操作入口

9.1 第一张图上的快捷入口可以基本满足开发的需求。

GIT:git 教程

9.2第二张图是更多在IDEA操作git的入口。

GIT:git 教程文章来源地址https://www.toymoban.com/news/detail-473991.html

到了这里,关于GIT:git 教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 软件测试/测试开发/全日制/测试管理丨Git分布式版本控制系统

    软件测试/测试开发/全日制/测试管理丨Git分布式版本控制系统

    分布式版本控制: Git是一种分布式版本控制系统,每个开发者都可以拥有完整的代码仓库的拷贝,不依赖中央服务器。这使得团队成员可以在本地独立工作,并且不需要持续的网络连接。 代码仓库: Git用来存储代码的地方被称为仓库(Repository)。仓库可以分为本地仓库和远程

    2024年01月18日
    浏览(14)
  • vivado Revision Control

    vivado Revision Control

    2020.2 只需要git 管理 prj.xpr 和 prj.srcs/ https://china.xilinx.com/video/hardware/ip-revision-control.html https://www.xilinx.com/video/hardware/vivado-design-suite-revision-control.html http://www.xilinx.com/training 新-https://xilinxprod-catalog.netexam.com/ 对于IP 保存所有文件;

    2024年01月15日
    浏览(2)
  • idea项目提交git报错bad revision ‘head‘

    bad revision \\\'head\\\' 新建了一个文件夹,将后端项目,前端项目都放到这个文件夹里面去了,然后想提交git VCS——import into Version control——Create git Repository之后,怎么都add不成功, 有warning提示bad revision \\\'head\\\'。 有个后端项目原来是svn管理的,将原项目.svn文件夹删除就可以解决这

    2024年02月12日
    浏览(98)
  • AI 与控制:神经网络模型用于模型预测控制(Model Predictive Control)

    AI 与控制:神经网络模型用于模型预测控制(Model Predictive Control)

    最优控制理论处理的问题通常是找到一个满足容许控制的 u*,把它作用于系统(被控对象)ẋ(t)=f(x(t),u(t),t) 从而可以得到系统的状态轨迹 x(t),使得目标函数最优。对于轨迹跟踪问题,那目标函数就是使得这个轨迹在一定的时间范围[t0tf]内与我们期望的轨迹(目标)x*(t) 越近

    2024年02月04日
    浏览(13)
  • git:版本控制控制软件

    git:版本控制控制软件

    Git是分布式版本控制系统,他是没有中央服务器的,每个人的电脑就像是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑

    2024年02月03日
    浏览(11)
  • 超详细Git版本控制及Git的使用

    超详细Git版本控制及Git的使用

    目录 1.Git文件的三种状态与工作模式 1.1文件的三种状态 1.2Git项目的三个工作区域 1.3基本git工作流程 2.Git的使用 2.1Git使用SSH链接下载源码 2.2创建版本库并提交文件 2.2.1编写一个文本文件并将其提交到git仓库 2.2.2将项目提交到本地仓库 2.2.3提交文件到本地版本库 2.3文件的修改

    2024年01月20日
    浏览(11)
  • Git error-fatal-Needed a single revision

    由于公司要求,需要把旧的项目迁移到新的gitlab地址上,这好办,只需要改下remote repository url就可以了,如果仓库中用到子模块,还需要顺便更新子模块的url。 不过,本地是编译通过了,但是推送到远程后,gitlab CI编译时会报错如下: 网上也能搜到相同的问题,但是没有一

    2024年02月16日
    浏览(4)
  • Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理

    Git简介与工作原理:了解Git的基本概念、版本控制系统和分布式版本控制的工作原理

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月16日
    浏览(13)
  • 【Git】 - 版本控制

    【Git】 - 版本控制

    个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 版本 : 软件版本;(例如:JDK 1.8、MySQL 8.0、IDEA 2022) 文件版本;(作用:保存重要的历史记录、恢复数据

    2024年04月23日
    浏览(12)
  • 版本控制(Git)

    版本控制(Git)

    Fork 本课程网站的仓库 将版本历史可视化并进行探索 是谁最后修改了  README.md 文件?(提示:使用  git log  命令并添加合适的参数) 最后一次修改 _config.yml  文件中  collections:  行时的提交信息是什么?(提示:使用  git blame  和  git show)     使用 Git 时的一个常见错误

    2024年02月20日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包