git的学习记录
在ubuntu上面工作了有一段时间了,今天在解决问题的时候搜索到了linux的源码树,这一个网站http://git.kernel.org/cgit/,他的管理就是使用的git。以前在windows上面接触过git,但是感觉非常麻烦,学习的也是云里雾里的,只是大概知道他是高效管理代码项目的一个工具,能够给项目团队带来很大的方便,但是具体就没有使用过了。恰恰这里就可以使用我在开源中国的账号了,因为那里也有一个git项目托管。
下面记录过程:
首先登陆http://git.oschina.net/,登录账号密码,创建一个项目;
打开ubuntu终端,切换到想要的工作目录,输入git clone https://git.oschina.net/galuo/s5pv210_spi_ad7792.git,https...这一串字符是创建项目后就会生成的;于是就会在工作目录下生成由项目名命名的文件夹,cd命令切换的该文件夹。于是实现了项目的创建和Git 版本库的初始化。
Git 版本库的初始化还有另外一种方式,使用git init 和 git remote。cd命令切换到想要的工作目录,使用git init就会初始化一个本地的空仓库,在该工作目录下生成.git文件夹等,然后就可以使用git remote add命令来增加一个远程服务器端;
例如:git remote add origin https://git.oschina.net/galuo/s5pv210_spi_ad7792.git
上面的命令就会增加URL地址为https://git.oschina.net/galuo/s5pv210_spi_ad7792.git,名称为origin的远程服务器,以后提交代码的时候只需要使用 origin别名即可。
以下修改:http://blog.csdn.net/ithomer/article/details/7529022
Git 常用命令
1.远程仓库相关命令
检出仓库: $ git clone https://git.oschina.net/galuo/s5pv210_spi_ad7792.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]
*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:
$git push origin test:master // 提交本地test分支作为远程的master分支
$git push origin test:test // 提交本地test分支作为远程的test分支
2.分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name]
*创建空的分支:(执行命令之前记得先提交你当前分支的修改,否则会被强制删干净没得后悔)
$git symbolic-ref HEAD refs/heads/[name]
$rm .git/index
$git clean -fdx
3.版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]
合并远程仓库的tag到本地:$ git pull origin --tags
上传本地tag到远程仓库:$ git push origin --tags
创建带注释的tag:$ git tag -a [name] -m 'yourMessage'
4.另一些命令
显示状态:$git status ----显示当前工作的分支以及列出暂存区需要提交的文件
添加文件内容至索引:$git add [filename] ----添加文件到暂存区
工作区与提交任务(提交暂存区,stage)中相比的差异:$ git diff
工作区和HEAD(当前工作分支)相比的差异:$ git diff HEAD
提交暂存区(提交任务,stage)和版本库中文件的差异:$ git diff --cached (或--staged)
说明:https://git.oschina.net/galuo/s5pv210_spi_ad7792.git 为使用s5pv210的SPI采集AD值的新建项目,AD芯片为AD7792。欢迎提交代码。。。。。。