github命令
git community book
github常用指令
2012-02-04 19:36
总结一下ubuntu下github常用的命令,设置部分跳过,假设repository的名字叫hello-world:
1.创建一个新的repository:
先在github上创建并写好相关名字,描述。
$cd ~/hello-world //到hello-world目录
$git init //初始化
$git add . //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件)
$git commit //提交到本地仓库,然后会填写更新日志( -m “更新日志”也可)
$git remote add origin git@github.com:WadeLeng/hello-world.git //增加到remote
$git push origin master //push到github上
2.更新项目(新加了文件):
$cd ~/hello-world
$git add . //这样可以自动判断新加了哪些文件,或者手动加入文件名字
$git commit //提交到本地仓库
$git push origin master //不是新创建的,不用再add 到remote上了
3.更新项目(没新加文件,只有删除或者修改文件):
$cd ~/hello-world
$git commit -a //记录删除或修改了哪些文件
$git push origin master //提交到github
4.忽略一些文件,比如*.o等:
$cd ~/hello-world
$vim .gitignore //把文件类型加入到.gitignore中,保存
然后就可以git add . 能自动过滤这种文件
如果某个文件已经被加入了,就得git rm --cached conf/env.conf,然后再
git add .
git commit -m "comment"
git push
才行
5.clone代码到本地:
$git clone git@github.com:WadeLeng/hello-world.git
假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目:
$git fetch origin //获取远程更新
$git merge origin/master //把更新的内容合并到本地分支
这两部可以用git pull来代替
pull = fetch+merge
6.撤销
$git reset
7.删除
$git rm * // 不是用rm
//------------------------------常见错误-----------------------------------
1.$ git remote add origin git@github.com:WadeLeng/hello-world.git
错误提示:fatal: remote origin already exists.
解决办法:$ git remote rm origin
然后在执行:$ git remote add origin git@github.com:WadeLeng/hello-world.git 就不会报错误了
2. $ git push origin master
错误提示:error:failed to push som refs to
解决办法:$ git pull origin master //先把远程服务器github上面的文件拉先来,再push 上去。
//------------------------------------------------------------------------------
高级技巧:
1.git diff
git diff得到的是从Working DIrectory到Index的变化
git diff –cached得到的是从HEAD到Index的变化
git diff HEAD得到的是从HEAD到Working DIrectory的变化
git diff 比较两次不同commit之间区别,据测试,commit id 最少为前4位
2.查看所有commit列表
git log
3.git reset
git reset --hard 重置index和working directory,自上次commit以来所有变化全都丢弃,并把HEAD指向
git reset --soft index和working directory不改变,HEAD指向,所有改变都会显示在 git status 中的"Changes to be commited"
git reset --mixed 仅reset index.这是默认模式,不动working directory,显示在 git status中的“Unstaged changes after reset"
4.git revert
用于回滚commit
git revert HEAD~3:丢弃最近的三个commit,把状态恢复到最近的第四个commit,并且提交一个新的commit来记录这次改变。
一个中文git手册:
一、下载并编译安装git
wget
(上面的下载地址可能已经失效,请使用 )
tar -xlvf git-1.7.5.4.tar.bz2
cd git-1.7.5.4
./configure --prefix=/usr/local/ (使用--prefix参数指定Git的安装路径)
make
make install
使用下面的命令查看版本号确认git是否安装成功
git --version
If you want to check out below open source software
You can run command
$ git clone git://github.com/puppetlabs/marionette-collective.git
$ cd marionette-collective
$ git checkout 1.3.0
安装git服务器
接着follow github官方网站上instructions
1.create repository
2.会跳出来创建readme的project的页面,照着做就好,这里建了个Ruby on Rails的project
mkdir Ruby-on-Rails
cd Ruby-on-Rails/
git init
touch README
git add README #添加文件
git commit -m 'first commit' #commit
git remote add origin git@github.com:username/Ruby-on-Rails.git #定义远程服务器为origin
git push -u origin master #push到server端
以下步骤供参考
1. GIT
相比CVS/SVN,Git 的优势:
- 支持离线开发,离线Repository
- 强大的分支功能,适合多个独立开发者协作
- 速度块
更多的细节参见
Git使用指南
2. GitHubGitHub是一个托管Git (开源或闭源)项目的网站,闭源收费,最低7$/月起,免费的300G空间。价格表如下:
使用GitHub步骤:
1、申请GitHub帐户 xxx ,创建名为new-project的新Repository
2、安装Git客户端(Linux)
#yum install git git-gui
3、 生成密钥对,这样项目可以push到 GitHub上
#ssh-keygen -t rsa -C "xxx@gmail.com"
4、将.ssh/id_rsa.pub拷贝到GitHub网站
5、为了方便,设置ssh不输入口令
# eval `ssh-agent`
# ssh-add
(输入passphrase)
6、测试是否能联通GitHub
#ssh git@github.com
如果配置正确,显示
ERROR: Hi xxx! You've successfully authenticated, but GitHub does not provide shell access
Connection to github.com closed.
7、设置Git全局用户配置
# git config --global user.name "xxx"
# git config --global user.email xxx@gmail.com
8、创建本地新项目工作树
# mkdir new-project
# cd new-project
# git init
# touch README
# git add README
# git commit -m 'first commit'
定义远程服务器别名origin
# git remote add origin git@github.com:xxx/new-project.git
本地和远程合并,本地默认分支为master
# git push origin master
GitHub网站上就可以看见了,
9. 更新文件
# vi README
自动commit更改文件
# git commit -a
更新至远程
# git push origin master
10. 创建和合并分支
#git branch 显示当前分支是master
#git branch new-feature 创建分支
# git checkout new-feature 切换到新分支
# vi page_cache.inc.php
# git add page_cache.inc.php
Commit 到本地GIT
# git commit -a -m "added initial version of page cache"
合并到远程服务器
# git push origin new-feature
如果new-feature分支成熟了,觉得有必要合并进master
#git checkout master
#git merge new-feature
#git branch
#git push
则master中也合并了new-feature 的代码
再登录到GitHub可以看见"Switch Branches"下的分支选项:
GitHub还有一个很实用的功能,查看开发进程网络图(Network):
阅读(3137) | 评论(0) | 转发(0) |