git命令:
man git
例如:工作目录下有个zh目录,如果不想把它加入到Git管理中,则执行:
echo "zh" > .gitignore
git add .
有关gitignore 文件的诸多细节知识可阅读其使用手册:man gitignore
git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update
git add:是 将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中,该功能类似于SVN的add
git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb',该功能类似于SVN的rm、del
git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m story #3, add user model',提交的时候必须用-m来输入一条提交信息,该功能类似于SVN的commit
git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中
git log:查看历史日志,该功能类似于SVN的log
git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值
上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:
git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚
git rebase:用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
git reset:将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了'git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20'那么结果就只剩下了A-C三个提交的版本
git stash:将当前未提交的工作存入Git工作栈中,时机成熟的时候再应用回来,这里暂时提一下这个命令的用法,后面在技巧篇会重点讲解
git config:利用这个命令可以新增、更改Git的各种设置,例如'git config branch.master.remote origin'就将master的远程版本库设置为别名叫做origin版本库,后面在技巧篇会利用这个命令个性化设置你的Git,为你打造独一无二的 Git
git tag:可以将某个具体的版本打上一个标签,这样你就不需要记忆复杂的版本号哈希值了,例如你可以使用'git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20'来标记这个被你还原的版本,那么以后你想查看该版本时,就可以使用 revert_version标签名,而不是哈希值了
Fork it
Create your feature branch (`git checkout -b my-new-feature`)
Commit your changes (`git commit -am 'Added some feature'`)
Push to the branch (`git push origin my-new-feature`)
先执行下面命令:
[git add .]
[git commit -am "add new feature"]
[git push origin v1.0]
[git pull origin v1.0]
.gitignore无效,不能过滤某些文件
现象:
在.gitignore添加file1文件,以过滤该文件,但是通过git status查看仍显示file1文件的状态。
原因:
在git库中已存在了这个文件,之前push提交过该文件。
.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了
解决:
需要在git库中删除该文件,并更新。
git rm -r --cached ./tmp
git rm -r --cached ./log
git rm -r --cached ./file1
git add .
git commit -am "test"
git push origin master
然后再次git status查看状态,file1文件不再显示状态。
Git 的 .gitignore 配置
.gitignore 配置文件用于配置不需要加入版本管理的文件,配置好该文件可以为我们的版本管理带来很大的便利,以下是个人对于配置 .gitignore 的一些心得。
1、配置语法:
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
2、示例:
(1)规则:fd1/*
说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;
(2)规则:/fd1/*
说明:忽略根目录下的 /fd1/ 目录的全部内容;
(3)规则:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;
相关推荐
git命令集合 git命令.md
最全的git命令 Git 有多种使用方式。 你可以使用原生的命令行模式,也可以使用 GUI 模式,这些 GUI 软件也能提供多种功能。 在本书中,我们将使用命令行模式。 这是因为首先,只有在命令行模式下你才能执行 Git 的 ...
常用的Git命令,并且做成了思维导图,整理非常清晰,绝对是你想要的
git命令-git命令-git命令-git命令
是最常用的Git命令,开发过程中不可缺少的部分,适合快速检索Git命令,使用起来方便快捷,尤其针对新手使用
git命令.txt下载
git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git命令集合供大家学习下载,后续会持续进行更新,方便记忆git常见指令大全脑图 超详细的git...
开发中代码管理少不了使用Git,对于初学者来说Git命令的学习是一个难过的坎,为了帮助大家记忆并快速掌握Git的基本使用,我把常用的Git命令整理成思维导图,分享给大家。非原创,内容转发自网络。感觉一图胜前言,...
git命令,git基本命令列表,使用说明: 如检查git版本、设置基本配置、pull、push和merge等。
Git 命令学习文档(集合整理)
Git命令的使用即创建需要的下载吧
git命令大全 。
是一些常见git命令的总结,对工作很有帮助。希望对大家有帮助
Git命令速查表,常用Git命令一表全包括,中文高清,打印出来放在办公桌旁,您的工作好帮手!
git命令使用指南,从网上看到的,就做成了txt,自己就是看它入门的
该文件详细讲解了20个常用的GIT命令, 这些都是我们平时使用最多的命令. 本文件是一个chm格式的帮助文件.
Git 命令大全
git的命令 包括所有的git命令 对于学习git 又更好的机会
没有网时候想commit怎么办?svn服务器宕机一天,技术团队抓狂,抱怨运维不给力 非核心成员想贡献自己的力量却无论为力 每每想看一下svn上的配置文件或者代码,不能在线看,必须下载。这尼玛能忍?...
git命令手册