合并分支流程 - tedrepo/SimDial GitHub Wiki
1, dialogstudio-simulator Aone:
2,当前日常阶段开发分支: #如果你不在master分支先运行这两句,否则跳过: git stash git checkout master
#然后更新 git pull
#然后跳回自己分支合master git checkout [your_branch] git merge master
然后解决 merge 可能带来的 conflict(可能没有), 解决完之后运行下面:
git commit -am "merged master"
untracked working tree file
参考:http://blog.csdn.net/sheismylife/article/details/7204345 编写脚本自动编译并部署时的注意
如果想在C2上编写脚本自动从S1上获取最新代码时,要注意:
1.首先之前产生的公钥不能设密码,否则每次git pull的时候都会要求输入密码。
2.不要将项目中的编译中间文件提交到S1上,比如CMake工程里面的build目录的文件,Maven工程里面的target目录里面的文件。否则下次在C2等客户端用git pull会报类似于这样的错误:
error: Untracked working tree file 'public/images/icon.gif' would be overwritten by merge.
需要执行下面的命令才能修复:
git reset --hard HEAD
git clean -f -d
git pull
git 放弃本地修改
如果在修改时发现修改错误,而要放弃本地修改时,
一,
未使用 git add 缓存代码时。
可以使用 git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
二,
已经使用了 git add 缓存了代码。
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。
此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。
三,
已经用 git commit 提交了代码。
可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitid
你可以使用 git log 命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid:
复制代码 commit cf0d692e982d8e372a07aaa6901c395eec73e356 (HEAD -> master) Author: toyflivver [email protected] Date: Thu Sep 28 14:07:14 2017 +0800
多余的空行
commit 14aa4d7ad4ac6fba59b4b8261d32e478e8cc99ff Author: toyflivver [email protected] Date: Thu Sep 28 14:06:44 2017 +0800
正常的代码
commit da3a95c84b6a92934ee30b6728e258bcda75f276 Author: toyflivver [email protected] Date: Thu Sep 28 13:58:12 2017 +0800
qbf
commit 267466352079296520320991a75321485224d6c6 Author: toyflivver [email protected] Date: Thu Sep 28 13:40:09 2017 +0800
qbf
复制代码 可以看出现在的状态在 commitid 为 cf0d692e982d8e372a07aaa6901c395eec73e356 的提交上(有 HEAD -> master 标记)。
git branch 新建,推送与删除
在开发的许多时候我们都需要使用git提供的分支管理功能。
1.新建本地分支:git checkout -b test 新建一个名为:test 的本地分支。
2.提交本地分支:git push origin test:test 将本地的test分支推送到远程仓库的test 分支上。(test:test中的第一个的test表示本地分支名字,第二个test表示远程分支名字)
3.删除本地分支:git branch -D test 删除本地的分支
4.删除远程分支:git push origin :test 本命令推送了一个空的分支到远程的test分支,等同于删除远程分支。
.gitignore 文件格式:
在 .gitignore文件中,一行代表一条忽略规则,并且格式上支持正则式
例子:
.idea/ //忽略idea生成的配置文件
.gradle/ //忽略gradle 生成的配置文件
out/A.class //忽略out文件夹下的A .class 文件
out/*.class //忽略out文件夹下的所以得 .class 格式的文件