1.git pull时本地文件和服务器文件冲突解决方法(转)
http://blog.csdn.net/ican87/article/details/29869567
查看当前发送冲突的文件:
git status -uno
2.强制覆盖本地文件
2.1 本地代码没有提交,也没有在缓冲区,出现错误:
bogon:protocol anthonyliu$ git pull
Updating 1f692a0..266b010
error: Your local changes to the following files would be overwritten by merge:
paycenterapi/gen-nodejs/BankCardService.js
Please commit your changes or stash them before you merge.
Aborting
bogon:protocol anthonyliu$ git checkout ./
bogon:protocol anthonyliu$ git pull
直接命令行: git chekout ./即可
2.2 服务器代码覆盖本地
git reset --hard HASH //返回到某个节点,不保留修改,本地修改的代码也会消失
git reset --soft HASH //返回到某个节点,保留修改,本地修改的代码也会消失
3. souceTree对比和回滚
有个Compare,From branch1 To branch2 会列出两个分支不同的提交日志,而这些日志是branch2具备而branch1中不具备的。
回滚一个文件:
点击选中的提交日志,挑选1个提交,右击到“重置到提交”之后提交即可。结合beyond compare,可以对比不同分支的相同文件:安装也是非常的简单
4.gitingore不能忽略里面的文件夹是什么原因
参考链接:http://blog.csdn.net/zhangjs0322/article/details/37658669
回退某个文件到某个hash,git reset hash 文件名。注意:只会从当前的user.js从缓存区中移除出去,而不会影响工作目录中对user.js的更改。如下:
7. Please move or remove them before you can merge,出现以上的提示,删除本地引起冲突的文件即可
8 .查看文件的修改历史记录
git查看某个文件的修改历史,命令如下:
git log --pretty=oneline filename
输入上面命令后,会得到改文件修改历史的sha-1值,然后输入下面的命令查看具体修改了什么内容:
git show sha-1
9.从远程pull代码,显示错误:error: You have not concluded your merge (MERGE_HEAD exists)
错误是拉取的代码与本地合并发送冲突,如果你本地不知道修改了什么,不烦用远程直接覆盖本地:
$:git fetch --all $:git reset --hard origin/master(你当前的分支) $:git fetch
10.修改密码之后,sourceTree拉取代码会报错
在偏好设置中->高级->去掉修改密码的那个账号,重新拉取代码,输入新的密码即可。
省略输入密码:仓库-远程仓库,设置user:password@url即可
11. 推送代码出现:
git push解决办法: ! [remote rejected] master -> master (pre-receive hook declined)
原因是推送的分支(master)收到保护,去掉保护即可。
12 撤销最近本地的一次commit
git reset --soft HEAD^