git及github
常用命令
git status
git add
git commit -m 'update something'
git push
# 不自动转换暂行符
git config --global core.autocrlf false
清除文件的git跟踪
git rm --cached < file name >
忽略某些文件
使用Git Bash
touch .gitignore
,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
配置语法
- 以斜杠“/”开头表示目录;
- 以星号“*”通配多个字符;
- 以问号“?”通配单个字符
- 以方括号“[]”包含单个字符的匹配列表;
- 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
示例
!.gitignore
.git
*.class
*.jar
*.war
*.ear
target
out
build
.idea
*.iml
*.ipr
*.iws
.project
.classpath
.settings
.metadata
*.launch
ivy*
Thumbs.db
ehthumbs.db
Desktop.ini
github 分支管理
http://www.ruanyifeng.com/blog/2012/07/git.html
http://www.360doc.com/content/14/1029/10/13147830_420815353.shtml
远程仓库有master和dev分支
-
克隆代码
git clone https://github.com/master-dev.git
-
查看所有分支
git branch --all
默认有了dev和master分支,所以会看到如下三个分支
master[本地主分支] origin/master[远程主分支] origin/dev[远程开发分支]
新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步
但是origin/dev分支在本地没有任何的关联,所以我们无法在那里开发
-
创建本地关联origin/dev的分支
git checkout dev origin/dev
创建本地分支dev,并且和远程origin/dev分支关联,本地dev分支的初始代码和远程的dev分支代码一样 -
切换到dev分支进行开发
git checkout dev
这个是切换到dev分支,然后就是常规的开发 -
为了更好的理解,最好继续看看下文。
远程仓库只有mater分支
-
克隆代码
git clone https://github.com/master-dev.git
这个git路径是无效的,示例而已 -
查看所有分支
git branch --all
默认只有master分支,所以会看到如下两个分支
master[本地主分支] origin/master[远程主分支]
新克隆下来的代码默认master和origin/master是关联的,也就是他们的代码保持同步 -
创建本地新的dev分支
git branch dev
创建本地分支
git branch
查看分支
这是会看到master和dev,而且master上会有一个星号
这个时候dev是一个本地分支,远程仓库不知道它的存在
本地分支可以不同步到远程仓库,我们可以在dev开发,然后merge到master,使用master同步代码,当然也可以同步 -
发布dev分支
发布dev分支指的是同步dev分支的代码到远程服务器
git push origin dev:dev
这样远程仓库也有一个dev分支了 -
在dev分支开发代码
git checkout dev
切换到dev分支进行开发
开发代码之后,我们有两个选择
第一个:如果功能开发完成了,可以合并主分支
git checkout master
切换到主分支
git merge dev
把dev分支的更改和master合并
git push
提交主分支代码远程
git checkout dev
切换到dev远程分支
git push
提交dev分支到远程
第二个:如果功能没有完成,可以直接推送
git push
提交到dev远程分支
注意:在分支切换之前最好先commit全部的改变,除非你真的知道自己在做什么
- 删除分支
git push origin :dev
删除远程dev分支,危险命令哦
下面两条是删除本地分支
git checkout master
切换到master分支
git branch -d dev
删除本地dev分支
github项目提交失败 master -> master (non-fast-forward)
http://michaelye1988.iteye.com/blog/1653599
官方介绍: https://help.github.com/articles/dealing-with-non-fast-forward-errors
先执行git pull
然后再执行git push --force origin master
替换原先的git push -u origin master
git上传本地项目到github上
-
添加忽略文件
.gitignore
Git Bash
touch .gitignore
-
初始化git版本控制
git init
-
提交git
git add *
git commit
文件较多时,使用TortoiseGit进行commit -
执行更新
git pull https://github.com/chencye/demo.git master
-
强制提交
git remote add origin https://github.com/chencye/demo.git
git push --force origin master
github上创建release
git push origin v0.1.0