github

git简介
git是一个分布式版本控制/软件配置管理软件,原来是由linux内核开发者[u]林纳斯托瓦兹[/u]为了更好地管理linux内核开发而设计的。对于一个软件开发者,就我个人而言,git是十分便捷好用的工具,git的速度很快,更重要的是它的合并追踪能力。而且,只是通过简单的命令行的输入,就可以轻松的完成代码的提交,建库等功能。当你编写一项工程时,在你一次次提交代码之后,它会清楚地记录你对代码所做的修改。
---------------------------------------------------------------------------------------------------------------------------
**********************************************************************
---------------------------------------------------------------------------------------------------------------------------
git命令
[table]
|1.git clone|
[/table]
这是一种简单的本地初始化的方式,当你远程上已经存在一个版本库,只须在本地克隆一份可以使用此命令。
例如:
git clone git@github.com:Moode/party_bid.git some_project

此命令执行后会把git@github.com:Moode/party_bid.git这个url的远程版本库完全克隆到some_project的目录下。也可以打开some_project目录,执行$cd some_project,然后执行git clone git@github,com:Moode/party_bid.git 。
———————————————————————————————————————————————————————
[table]
|2.git init and git remote|
[/table]
git init也是一个初始化命令。如果你在远程上没有建立版本库,可以在本地建立一个指定的工作目录,比如some_project,然后进入此目录,在目录下执行git init进行初始化。之后如果你想把该目录下的文件进行版本控制,需要在远程上先建立一个版本库,执行的命令是:
git remote add orign git@github.com:Moode/party_bid.git
,此时就建立了名为orign路径为git@github.com:Moode/party_bid.git的远程版本库。
———————————————————————————————————————————————————————
[table]
|3.git pull|
[/table]
git pull 是将其他版本库(可以是远程的也可以是本地的)中的代码更新到指定分支上。例如:
git pull orign(版本库)master

此命令是将orign版本库里的代码更新到master主支上。
———————————————————————————————————————————————————————
[table]
|4.git add|
[/table]
git add是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如:git add .是将当前目录下的所有修改加入到git索引中。
———————————————————————————————————————————————————————
[table]
|5.git commit|
[/table]
git commit是提交当前工作空间的修改内容,如果要附加修改内容的标题要使用参数-m
例如:
git commit -m “重构代码”

———————————————————————————————————————————————————————
[table]
|6.git push|
[/table]
git push是将本地的commit的代码更新到远程版本库中,完成远程代码的更新。一般情况下,git add git commit git push是提交代码时连续使用的三个命令。
———————————————————————————————————————————————————————
[table]
|7.git rm|
[/table]
git rm是删除当前目录下或git索引中的文件,例如:
git rm .gitignore

———————————————————————————————————————————————————————
[table]
|8.git revert|
[/table]
git revert是还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值。
———————————————————————————————————————————————————————
[table]
|9.git log|
[/table]
git log是查看当前路径下的修改日志。
———————————————————————————————————————————————————————
[table]
|10.git branch|
[/table]
git branch是对分支的增、删、查等操作,例如'
git branch new_branch
'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
———————————————————————————————————————————————————————
[table]
|11..git checkout|
[/table]
git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚
———————————————————————————————————————————————————————
[table]
|12.git rebase|
[/table]
用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能
master
A-------->B--------->C
|---------->D---------->E ___git rebase_______________>A---->B----->C------>D------->E
new_branch master new_branch
———————————————————————————————————————————————————————
[table]
|13.git reset|
[/table]
将当前的工作目录完全回滚到指定的版本号,假设如下图,我们有A-G五次提交的版本,其中C的版本号是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我们执行了'git reset bbaf6fb5060b4875b18ff9ff637ce118256d6f20'那么结果就只剩下了A-C三个提交的版本
A-------->B---------->C----------->D--------->E_____git reset_______________>A-------->B------->C
———————————————————————————————————————————————————————
[table]
|14.git merge|
[/table]
git merge用来合并两个分支。例如:
$git checkout master
$git merge -m 'merge from empty' empty

上面的命令是将empty分支上的改动merge 到master分支上,并生成新的commit节点“merge from empty”
———————————————————————————————————————————————————————
[table]
|15.git status|
[/table]
git status命令用来查看当前的git状态,如:所在的分支,所做的修改commit等
———————————————————————————————————————————————————————
[table]
|16.git diff|
[/table]
git diff 命令将比较当前的工作目录和版本库数据库中的差异。
———————————————————————————————————————————————————————
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值