-----------git使用说明:------------
git config --lis git的一些配置
git branch -a 查看远程分支
git branch 查看本地分支 ☆☆☆☆☆
git checkout xx分支名字 切换分支 ☆☆☆☆☆
git commit -m "branch test" 提交加备注“branch test”
git merge yyy分支名字 把yyy的数据和现在的分支合并。 因为上一句已经切换到需要被合并的分支了 ☆☆☆☆☆
git merge --no-ff yyy分支名字
--no-ff:不使用fast-forward方式合并,保留分支的commit历史
--squash:使用squash方式合并,把多次分支commit历史压缩为一次
----
git branch 分支名,例如:git branch 2.0.1.20120806 创建新分支
git branch -d 分支名字 删除分支(本地)
----代码提交命令(不要用git add . 会把所有文件都提交上去,我们只提交更改的代码)---
git add .u 把所有文件添加到暂时缓存区 ☆☆☆☆☆
git commit -m "branch test" 提交到本地仓库加备注“branch test” ☆☆☆☆☆
git push 是将本地库中的最新信息发送给远程库。 ☆☆☆☆☆
---
git add -A 提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
---
error: You have not concluded your merge (MERGE_HEAD exists).的原因可能是在以前pull下来的代码自动合并失败
解决办法一:保留本地的更改,中止合并
git merge --abort
---git fetch和git pull的区别---
git fetch :相当于是从远程分支获取最新版本到本地,不会自动合并
git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
git pull :相当于是从远程获取最新版本并merge到本地
git pull xxx分支 相当于 1:git fetch 拉取 2:git merge 合并
---分支对比差异---
q:退出文件对比
git diff branch1 branch2 显示具体差异(文字解释,只能看,不好用,也不能直接改异同点)
git diff branch1 branch2 --stat //显示出所有有差异的文件列表(只列出文件列表)
git diff feature/20180728_2607369_pickorderquery20180728_1 master --stat >>d:\b.txt //将2个分支的不同内容的文件名字,输出到指定的文件夹
git diff feature/20180802_2632841_taoxidingdan_1 master >>d:/xxx.txt 没有--stat 会直接输出详情
.../xxx/xxx.java | 1+++++----------------
.../xxx/xxx.java | 2++-----
2 files changed, 3 insertions(+), 1012 deletions(-)
git reset --soft HEAD^ 回退到上一个版本
git reset --soft HEAD^^ 回退到上上一个版本