目录
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
目前git的服务器地址有两个,一个是国内服务器的gitee,另一个就是国外服务器的github,也是用的最火热的,总的来说国外的github里面的资源是要比国内gitee的更加丰富的。不过因为国外服务器的原因,不论是打开网站的速度,还是下载速度都是比较慢的,所以这里我用gitee来演示。
国内git服务器地址:Gitee - 基于 Git 的代码托管和研发协作平台
git的执行原理是首先在本机(工作区)进行编写代码,然后通过add命令添加到本地仓库,在通过commit命令提交到暂存区,注意这里的操作都是在本地仓库进行的,后面的就是通过push命令推送到远程仓库(也就是gitee或者github服务器里)。

在客户端操作之前,需要安装git,通过下面链接可以查看我往期的文章下载安装git。
在磁盘中找个位置创建一个空文件夹,推荐命名gitlocation

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

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

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


新建一个文本,在里面输入一句话保存
右键文本,选择TortoiseGit选择添加,把文件通过add命令添加到本地仓库

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

如果你看不到+号这个状态,需要修改注册表内容
1、win + r 打开运行窗口,输入 regedit.exe
2、找到 \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
当前Explorer文件夹下 右击 -- 创建字符串值 -- Max Cached Icons -- 修改 -- 把值改为2000,重启电脑重新添加即可。
接着上面的提示框,点击提交,会弹出下面的提交框,里面的日志信息可以记录一下提交的日志信息后点击提交,hello.txt文本就会被提交到暂存区

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

可以看到,提交成功以后,文本的左下角就变成了绿色对号。
2.4、修改文件如图,我修改了hello文件,发现文件左下角出现了红色的感叹号,这就证明修改了文件,然后直接提交。

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


在开发过程中可能会经常查看代码的修改历史,或者叫做修改日志。来查看某个版本是谁修改的,什么时间修改的,修改了哪些内容。
可以在文件上点击右键选择“显示日志”来查看文件的修改历史。

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

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


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

选择删除

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

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

还原成功!
新建一个新的文件夹,点击Git Bash Here选项

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

如果出现initialized empty git repository则证明初始化完成
ll 查看本文件夹里的内容
ll -a 查看本文件夹里的全部内容(包括隐藏文件)

输入命令 git status
可以看到文件夹没有东西的时候,查看状态显示为空。

新建一个文件,并增加内容
使用vim命令
vim hello.txt

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

写完内容后点击esc键,输入:wq退出
查看文件内容
cat hello.txt

git add 文件名

查看状态
git status

hello.txt已经变绿,证明这个文件已经被添加到了本地仓库
git commit -m "日志信息" 文件名

使用vim进行修改文件
vim hello.txt

git status 查看状态

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

并提交
git reflog
通过git reflog命令可以查看操作的所有记录,每个记录都有一个对应的版本id号,可以通过版本id号进行版本id号穿梭
git reset --hard 版本id
指针已经指向了第一次的版本
通过cat hello.txt命令查看文件内容,可以发现内容已经变为了hello world! 而hello git已经没有了。

git rm 文件名

git status查看状态

重新提交彻底删除

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

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

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

根据下面的选择进行创建

如图,创建仓库成功!
添加并提交文件以后,点击推送


复制远程仓库的路径




友情提示:以后用idea开发工具来完成代码, 所以上面这种大家感受一下即可,后期不会这样推项目
找好位置,通过命令可以clone到本地仓库中
git clone 远程仓库路径

点击右上角管理

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

输入gitee的密码

删除成功

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

创建一个本地项目

通过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进行上传

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

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

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

进行提交




注意:
在推的过程中,会弹出输入git服务器的用户名和密码,输入即可
推送成功后,在码云服务器会看到更新的功能
通过点击右上角蓝色箭头可以直接拉取

或者通过命令拉取
git pull origin master
如果拉不下来,在Terminal
git branch --set-upstream-to=origin/master master


我正在使用i18n从头开始构建一个多语言网络应用程序,虽然我自己可以处理一大堆yml文件,但我说的语言(非常)有限,最终我想寻求外部帮助帮助。我想知道这里是否有人在使用UI插件/gem(与django上的django-rosetta不同)来处理多个翻译器,其中一些翻译器不愿意或无法处理存储库中的100多个文件,处理语言数据。谢谢&问候,安德拉斯(如果您已经在rubyonrails-talk上遇到了这个问题,我们深表歉意) 最佳答案 有一个rails3branchofthetolkgem在github上。您可以通过在Gemfi
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
我在我的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服务器更新战俘
我已经像这样安装了一个新的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="
我正在尝试修改当前依赖于定义为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之间的所有版本,你可以这
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我安装了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
假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD