基本命令:
// 从远程仓库fetch以及合并文件
git pull origin master
//改动文件提交到缓存区
//.代表所有的 某个目录某个文件采用/xxx/xxx.xml 某个目录采用/xxx/*
git add .
//提交缓存内容添加注释说明
git commit -m "xxxxxxx"
//推送到远程的分支
git push origin master
//清空提交到缓存区的改动
git reset
//查看本地仓库的状态
git status
//本地版本回滚
git reflog //查询本地的版本
git reset --hard hard^/er23453//上个版本/前七位内容进行本地库回滚
//远程版本回滚
如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。
首先要回退本地分支:
git reflog
git reset --hard Obfafd
紧接着强制推送到远程分支:
git push -f
注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支
删除分支并推送
git checkout -b placeholder//创建并切换新的分支
git branch -d master //删除master分支
git push origin :master//删除远程的mater分支
我们仅仅得到像下面这样的信息 :
remote: error: refusing to delete the current branch: refs/heads/master
To git@github.com:matthew-brett/datarray.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'git@github.com:matthew-brett/datarray.git'
That is because github is looking at the master
branch to provide the web content when you browse that repository. So we first have to make github look at our placeholder
branch instead, then delete master
.
First push up the placeholder
branch:
git checkout placeholder # if not on placeholder already
git push origin placeholder
添加已有项目到github
新建repository,可以在github网站上直接新建或者使用windows github工具。
进入github repository 项目
在github windows工具中使用git Bash打开项目,使用cd命令进入已有项目根目录下
touch README.md //新建说明文件
git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
git add . //添加当前目录中的所有文件到索引
git commit -m "first commit" //提交到本地源码库,并附加提交注释
git remote add origin https://github.com/chape/test.git //添加到远程项目,别名为origin
git push -u origin master //把本地源码库push到github 别名为origin的远程项目中,确认提交
提交完成,查看repository。
更新代码
cd /d/TVCloud
git add .
git commit -m "update test" //检测文件改动并附加提交注释
git push -u origin master //提交修改到项目主线
github常用命令
git push origin master //把本地源码库push到Github上
git pull origin master //从Github上pull到本地源码库
git config --list //查看配置信息
git status //查看项目状态信息
git branch //查看项目分支
git checkout -b host//添加一个名为host的分支
git checkout master //切换到主干
git merge host //合并分支host到主干
git branch -d host //删除分支host
git分支命名规则
各大操作系统发行版都有对应的软件包支持,请参见上面链接。
简单来说,
主分支 master 永远是可用的稳定版本开发分支 develop 是正在测试但未上线的版本
功能和特性开发在 feature 分支进行,完成后合并到 develop 进行测试线上紧急的 Bug 修正开 hotfix 分支进行,修正完成后合并到 master
命名
master
develop
feature/xxx
hotfix/xxx
release/版本号版本release之前打对应版本的tag
关于.gitignore文件作用
有时候提交项目的文件是不需要的,分两种方式去处理:
比如说Android中的build文件夹,
1文件或者文件夹未提交git分支上进行过滤:
.gitignore中直接一行:/build
git add .gitignore
git commit -m "add"
push origin 分支名
2一种是文件或者文件夹已提交到分支上进行过滤,
本地删除已提交文件:git rm --cached logs/xx.log
.gitignore中直接一行:/build
git commit -m "add"
push origin 分支名
参考:http://blog.csdn.net/aguangg_6655_la/article/details/56288995