git就是程序代码的版本控制。
跳过安装
安装完之后就要进行下面的设置:
$ git config --global user.name "Your Name"
$ git config --global user.email your.email@example.com(这一步每台电脑上只能设置一次)
你可以用下面的语句:
$ git config --global alias.co checkout来更换checkout命令的别名
也就是在这一步之前你用的是
$git checkout这个命令,在这之后你就得用下面的命令替换
$git co
设置你的编辑器
$git config --global core.editor "subl -w"
到你建立的程序的根目录,并且初始化一个新库:
$git init
Initialized empty Git repository in /Users/mhartl/rails_projects/first_app/.git/
$git add .
(“.”代表当前的目录)
这个命令会把程序放到一个临时区域中,
你可以用$git status查看临时区域中的文件
下面是提交
$git commit -m "Initial commit"
查看提交信息
$git log
假如你删除了一个文件,但是你删除之后没有提交过,可以用
$git checkout -f
重置当前的改变,删除的就会回来
现在你已经把你的程序放到了git版本控制中,下面就是提交到github上了
如果你是第一次用github,你必须去github上生成一个SSH keys,注册之后创建一个repository,第一次放进去如下:
$git remote add origin git@github.com:<username>/<你创建的程序名>.git
然后
$git push -u origin master
这样就把你的程序放到了GitHub上了.
我们可以创建一个新的分支,上面那个是我们的主分支。
用下面的命令创建:
$git checkout -b modify-README
可以用
$git branch 查看都有哪些分支
下一步我们模拟编辑一个文件:
把.rdoc文件变成一个.md文件
$git mv README.rdoc README.md
然后用sublime text编辑器编辑
$subl README.md
在里面增加一些内容
用$git status查看都有那些文件发生了更改
$git commit -a -m "Improve the README file"
(用git mv这个命令创建的不算是新增的文件)
-a是一个快捷的提交更改的文件的标志
如果是你新增加了一个文件,比如原来没有一个叫 aa.rb的文件,你创建了一个,这个时候你就要用
$git add 提交了
如今我们已经做了一些改变,下面我们就开始整合,先回到master分支
$git checkout master
然后整合刚才新建的modify-README分支
$git meger modify-README
当你整合完之后你就可以删除你刚才建立的那个分支了
$git branch -d modify-README
用 $git branch -D命令是放弃你的分支,虽然还没有整合。
现在我们已经整合完了,下面就是放到github上了
$git push
下面总结一下上面所做的:
首先是配置一下你的git(如果没有装的话,先安装)
然后到你创建的程序根目录下,初始化一个新库($git init)
接下来就是把你的程序添加到新库中($git add .)
然后提交你的结果($git commit -m "Initial commit")
在你的Github中创建一个新库,如果是第一次放到GitHub中的话就如下面所示:$git remote add origin git@github.com:<username>/<项目名>.git
$git push -u origin master
如果不是第一个程序直接$git push 就可以了
回想一下一些命令:
$git status(查看状态信息:有哪些更改)
$git log (查看提交信息)
$git checkout -f (撤销没提交之前的更改)
$git checkout -b aa(创建一个分支aa)
$git branch(查看有哪些分支)
$git mv r.rdoc r.md(将r.doc文件名改为r.md)
$git commit -a -commit "Improve"(对那些更改名字的文件可以用-a标志来提交,跳过$git add )
$git checkout master(进入到master分支)
$git merge aa(将aa分支整合到master)
$git branch -d aa(删除aa分支)
内容来自:http://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:git_commands