草庐IT

git(项目版本管理工具)快速入门

热爱编程的申同学 2024-01-28 原文

目录

1、git

1.1、git概述

1.2、git的服务器地址

1.3、git原理

2、客户端操作

2.1、初始化本地库

2.2、添加本地暂存区 

2.3、提交本地库

2.4、修改文件

2.5、查看修改历史

2.6、查看版本差异

2.7、删除文件

2.8、文件还原

3、git命令

3.1、初始化本地库

3.2、查看本地仓库状态

3.3、添加本地暂存区

3.4、提交本地文件

3.5、修改文件

3.6、版本穿梭

3.7、删除文件

4、码云操作

4.1、码云创建仓库

4.2、将工程推到远程仓库中

4.3、将远程仓库克隆到本地

4.4、删除仓库

5、IDEA上传项目

5.1、IDEA集成git

5.2、上传项目方式一

​编辑5.3、上传项目方式二

6、IDEA下载项目

6.1、在IDEA中下载

6.2、提交到本地暂存区

6.3、推送到git服务器

6.4、从git服务器上拉取最新项目

6.5、log日志


1、git

1.1、git概述

Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

1.2、git的服务器地址

目前git的服务器地址有两个,一个是国内服务器的gitee,另一个就是国外服务器的github,也是用的最火热的,总的来说国外的github里面的资源是要比国内gitee的更加丰富的。不过因为国外服务器的原因,不论是打开网站的速度,还是下载速度都是比较慢的,所以这里我用gitee来演示。

国内git服务器地址:Gitee - 基于 Git 的代码托管和研发协作平台

国外git服务器地址:GitHub: Where the world builds software · GitHub

1.3、git原理

git的执行原理是首先在本机(工作区)进行编写代码,然后通过add命令添加到本地仓库,在通过commit命令提交到暂存区,注意这里的操作都是在本地仓库进行的,后面的就是通过push命令推送到远程仓库(也就是gitee或者github服务器里)。

2、客户端操作

在客户端操作之前,需要安装git,通过下面链接可以查看我往期的文章下载安装git。

git的下载安装_热爱编程的申同学的博客-CSDN博客

2.1、初始化本地库

在磁盘中找个位置创建一个空文件夹,推荐命名gitlocation

 在空文件中右键选择Git Bash Here,会弹出一个黑色背景代码命名框

如图所示,输入git init初始化空文件夹为git文件夹

如果弹出这句代码证明初始化成功,也可以在文件夹中看到一个.git文件夹(如果看不到就点击查看,把右侧的隐藏的项目勾选上,因为.git文件夹是隐藏项目)

2.2、添加本地暂存区 

新建一个文本,在里面输入一句话保存

右键文本,选择TortoiseGit选择添加,把文件通过add命令添加到本地仓库 

如图所示,加入完成后,文本就会多了一个蓝色的加号在左下角。(如果没有出现这种效果,就需要修改注册表,按照下面操作进行)

如果你看不到+号这个状态,需要修改注册表内容

1、win + r 打开运行窗口,输入 regedit.exe

2、找到 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer

​     当前Explorer文件夹下   右击 --  创建字符串值 -- Max Cached Icons -- 修改 -- 把值改为2000,重启电脑重新添加即可。

2.3、提交本地库

接着上面的提示框,点击提交,会弹出下面的提交框,里面的日志信息可以记录一下提交的日志信息后点击提交,hello.txt文本就会被提交到暂存区

 下面就是代表提交成功,目前先不使用git服务器,暂时不推送。

 可以看到,提交成功以后,文本的左下角就变成了绿色对号。

2.4、修改文件

如图,我修改了hello文件,发现文件左下角出现了红色的感叹号,这就证明修改了文件,然后直接提交。

点击Git提交,把修改后的文件提交至暂存区。 

 

2.5、查看修改历史

在开发过程中可能会经常查看代码的修改历史,或者叫做修改日志。来查看某个版本是谁修改的,什么时间修改的,修改了哪些内容。

可以在文件上点击右键选择“显示日志”来查看文件的修改历史。

 可以看到之前提交的历史记录都展现了出来

2.6、查看版本差异

选中两个版本的信息,右键比较版本差异

2.7、删除文件

再创建一个hello2.txt文件提交后然后删除

选择删除 

 

注意:此时并非删除了文件,如果彻底删除,需要再提交一次,如果彻底删除就不能还原了

2.8、文件还原

点击还原

选中已经删除的hello2.txt文件后点击确定,还原

 

 还原成功!

3、git命令

3.1、初始化本地库

新建一个新的文件夹,点击Git Bash Here选项

 输入git init,初始化本文件夹

如果出现initialized empty git repository则证明初始化完成

ll  查看本文件夹里的内容

ll -a  查看本文件夹里的全部内容(包括隐藏文件)

3.2、查看本地仓库状态

输入命令  git status

可以看到文件夹没有东西的时候,查看状态显示为空。 

新建一个文件,并增加内容

使用vim命令

vim hello.txt

点击键盘i键,进行插入内容

写完内容后点击esc键,输入:wq退出

查看文件内容

cat hello.txt 

 

3.3、添加本地暂存区

git add 文件名

 查看状态

git status

 hello.txt已经变绿,证明这个文件已经被添加到了本地仓库

3.4、提交本地文件

 git commit -m "日志信息" 文件名

3.5、修改文件

使用vim进行修改文件

vim hello.txt

 

git status  查看状态

可以看到hello.txt文件名已经变红,说明文件已经被修改。

重新添加

并提交

3.6、版本穿梭

git reflog

通过git reflog命令可以查看操作的所有记录,每个记录都有一个对应的版本id号,可以通过版本id号进行版本id号穿梭

 git reset --hard 版本id

指针已经指向了第一次的版本

通过cat  hello.txt命令查看文件内容,可以发现内容已经变为了hello world! 而hello git已经没有了。

3.7、删除文件

git rm 文件名

git status查看状态 

 

 重新提交彻底删除

使用ll命令查看文件,发现已经为空 

 

git reflog查看所有操作,可以通过版本id穿梭任意版本

4、码云操作

4.1、码云创建仓库

首先需要注册一个码云账号,使用qq或者邮箱登录也可,进入后点击右上角的加号,选择新建仓库

根据下面的选择进行创建 

 如图,创建仓库成功!

4.2、将工程推到远程仓库中

添加并提交文件以后,点击推送

复制远程仓库的路径 

 

 

友情提示:以后用idea开发工具来完成代码, 所以上面这种大家感受一下即可,后期不会这样推项目

4.3、将远程仓库克隆到本地

找好位置,通过命令可以clone到本地仓库中

git clone 远程仓库路径

4.4、删除仓库

点击右上角管理

 点击删除仓库

 点击删除仓库

删除仓库会有验证,把路径复制粘贴进去就可以删除了 

 

输入gitee的密码 

 

 删除成功

5、IDEA上传项目

5.1、IDEA集成git

5.2、上传项目方式一

远程仓库名要与本地项目名保持一致

创建一个本地项目

通过idea创建本地git仓库

通过idea把项目推送到远程仓库 

点击push推送

如果出现下图的情况,是因为文件发生了冲突,需要进行同步文件,把远程仓库中的文件同步至本地项目

1、原因本地的没有readme.md相关文件未与远程文件进行相关联,解决方案如下:
2、Ide中可以Alt+F12或者直接找到terminl窗口依次输出命令:

git pull
git pull origin master
git pull origin master --allow-unrelated-histories

再次尝试,如果出现以下提示,证明上传成功 

5.3、上传项目方式二

安装gitee插件

前提必须要有gitee帐号

添加gitee账号

创建项目

 点击vcs选项,选择import into Vserion Control,选择Share Project on Gitee

 填写上传日志信息后点击share进行上传

6、IDEA下载项目

6.1、在IDEA中下载

找到VCS,选择git,表示从服务器下载代码

 然后把git的仓库地址复制,如图,然后点clone复制份到本机桌面的某个文件夹下

6.2、提交到本地暂存区

再新建一个Person类,把类添加到本地仓库

进行提交 

6.3、推送到git服务器

注意:

在推的过程中,会弹出输入git服务器的用户名和密码,输入即可

推送成功后,在码云服务器会看到更新的功能

6.4、从git服务器上拉取最新项目

通过点击右上角蓝色箭头可以直接拉取

或者通过命令拉取

 git pull origin master

如果拉不下来,在Terminal

git branch --set-upstream-to=origin/master master

6.5、log日志

有关git(项目版本管理工具)快速入门的更多相关文章

  1. ruby - i18n Assets 管理/翻译 UI - 2

    我正在使用i18n从头开始​​构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在ruby​​onrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi

  2. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  3. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  4. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  5. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  6. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  7. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  8. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  9. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

  10. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

随机推荐