合并分支流程 - 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 格式的文件