🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞
众所周知,分布式版本控制系统git是工作以后进行项目管理必不可少的工具,我将繁杂的命令进行了归类整理和总结,供大家参考学习,大家也可以在评论区说出自己对本文的意见,和小二一起交流学习,评论区有你们小二真是如虎添翼呀!!!

文章の目录

在开始使用 Git 管理项目的版本之前,需要将它安装到计算机上。可以使用浏览器访问如下的网址,根据自己
的操作系统,选择下载对应的 Git 安装包:

安装完Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过Git 对项目进行版本管理的时候,Git 需要使用这些基本信息,来记录是谁对项目进行了操作:

📣注意:如果使用了–global选项,那么该命令只能运行一次,即可永久生效。❗❗❗
通过git config --global user.name 和git config --global user.email配置的用户名和邮箱地址,会被写入到C:/Users/用户名文件夹/.gitconfig文件中。这个文件是Git 的全局配置文件,配置一次即可永久生效。可以使用记事本打开此文件,从而查看自己曾经对Git 做了哪些全局性的配置。

除了使用记事本查看全局的配置信息之外,还可以运行如下的终端命令,快速的查看Git 的全局配置信息:
//查看所有的全局配置项
git config --list --global
//查看指定的全局配置项
git config user.name
git config user.email
可以使用git help 命令,无需联网即可在浏览器中打开帮助手册,例如:
#打开git config帮助手册
git help config
如果不想查看完整的手册,那么可以用-h选项获得更简明的“help”输出:
#获取 git config 快速参考
git config -h
①将尚未进行版本控制的本地目录转换为Git 仓库
②从其它服务器克隆一个已存在的Git 仓库
以上两种方式都能够在自己的电脑上得到一个可用的Git 仓库
如果自己有一个尚未进行版本控制的项目目录,想要用Git 来控制它,需要执行如下两个步骤:
①在项目目录中,通过鼠标右键打开“Git Bash”
②执行git init命令将当前的目录转化为Git 仓库

git init命令会创建一个名为.git 的隐藏目录,这个.git 目录就是当前项目的Git 仓库,里面包含了初始的必要文件,这些文件是Git 仓库的必要组成部分。
可以使用git status 命令查看文件处于什么状态,例如:

在状态报告中可以看到新建的 文件出现在Untracked files(未跟踪的文件)下面。 未跟踪的文件意味着Git 在之前的快照(提交)中没有这些文件;Git 不会自动将之纳入跟踪范围,除非明确地告诉它“我需要使用Git 跟踪管理该文件”。
使用git status 输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下两条完全等价的命令,其中-s 是–short 的简写形式:

使用命令git add开始跟踪一个文件。所以,要跟踪index.html 文件,运行如下的命令即可:

此时再运行git status 命令,会看到文件在Changes to be committed 这行的下面,说明已被跟踪,并处于暂存状态:

以精简的方式获取状态:

现在暂存区中有一个index.html 文件等待被提交到Git 仓库中进行保存。可以执行git commit 命令进行提交,其中-m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述:

提交成功之后,会显示如下的信息:

再次检查文件状态

目前,index.html 文件已经被Git 跟踪,并且工作区和Git 仓库中的index.html 文件内容保持一致。当我们修改了工作区中index.html 的内容之后,再次运行git status 和git status -s 命令,会看到如下的内容:

文件index.html 出现Changes not staged for commit这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区。
注意:修改过的、没有放入暂存区的文件前面有红色的M 标记。
目前,工作区中的index.html 文件已被修改,如果要暂存这次修改,需要再次运行git add 命令,这个命令是个多功能的命令,主要有如下3 个功效:
①可以用它开始跟踪新文件
②把已跟踪的、且已修改的文件放到暂存区
③把有冲突的文件标记为已解决状态

再次运行git commit -m “提交消息” 命令,即可将暂存区中记录的index.html的快照,提交到Git 仓库中进行保存:


撤销对文件的修改指的是:把对工作区中对应文件的修改,还原成Git 仓库中所保存的版本。
操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!

撤销操作的本质:用Git 仓库中保存的文件,覆盖工作区中指定的文件。
如果需要被暂存的文件个数比较多,可以使用如下的命令,一次性将所有的新增和修改过的文件加入暂存区:

注意:今后在项目开发中,会经常使用这个命令,将新增和修改过后的文件加入暂存区。
如果需要从暂存区中移除对应的文件,可以使用如下的命令:

Git 标准的工作流程是工作区→ 暂存区→ Git 仓库,但有时候这么做略显繁琐,此时可以跳过暂存区,直接将工作区中的修改提交到Git 仓库,这时候Git 工作的流程简化为了工作区→ Git 仓库。
Git 提供了一个跳过使用暂存区域的方式,只要在提交的时候,给git commit 加上-a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add 步骤:

从Git 仓库中移除文件的方式有两种:
①从Git 仓库和工作区中同时移除对应的文件
②只从Git 仓库中移除指定的文件,但保留工作区中对应的文件;

一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。在这种情况下,我们可以创建一个名为.gitignore的配置文件,列出要忽略的文件的匹配模式。
文件.gitignore 的格式规范如下:
①以# 开头的是注释
②以/结尾的是目录
③以/开头防止递归
④以!开头表示取反
⑤可以使用glob 模式进行文件和文件夹的匹配(glob 指简化了的正则表达式)
所谓的glob 模式是指简化了的正则表达式:
①星号* 匹配零个或多个任意字符
②[abc] 匹配任何一个列在方括号中的字符(此案例匹配一个a或匹配一个b 或匹配一个c)
③问号?只匹配一个任意字符
④在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如[0-9] 表示匹配
所有0 到9 的数字)
⑤两个星号** 表示匹配任意中间目录(比如a/**/z 可以匹配a/z 、a/b/z 或a/b/c/z 等)

如果希望回顾项目的提交历史,可以使用git log 这个简单且有效的命令。


总结:
①初始化Git 仓库的命令
git init
②查看文件状态的命令
git status或git status -s
③一次性将文件加入暂存区的命令
git add .
④将暂存区的文件提交到Git 仓库的命令
g
i
t
c
o
m
m
i
t
−
m
"
提
交
消
息
"
\textcolor{red} {git commit -m "提交消息"}
gitcommit−m"提交消息"
📣注意:项目中经常使用以上基本操作请小伙伴牢记哦❗❗❗
🥂(❁´◡`❁)您的点赞👍➕评论📝➕收藏⭐是作者创作的最大动力🤞
学会项目管理需还需要掌握Github、git分支相关知识,我会陆续为大家整理Github和Git分支相关知识,大家敬请期待哦!!!
设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.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服务器更新战俘
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我正在尝试修改当前依赖于定义为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之间的所有版本,你可以这
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
如果我使用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
我有一个涉及多台机器、消息队列和事务的问题。因此,例如用户点击网页,点击将消息发送到另一台机器,该机器将付款添加到用户的帐户。每秒可能有数千次点击。事务的所有方面都应该是容错的。我以前从未遇到过这样的事情,但一些阅读表明这是一个众所周知的问题。所以我的问题。我假设安全的方法是使用两阶段提交,但协议(protocol)是阻塞的,所以我不会获得所需的性能,我是否正确?我通常写Ruby,但似乎Redis之类的数据库和Rescue、RabbitMQ等消息队列系统对我的帮助不大——即使我实现某种两阶段提交,如果Redis崩溃,数据也会丢失,因为它本质上只是内存。所有这些让我开始关注erlang和
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题: