Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2436291
  • 博文数量: 293
  • 博客积分: 2660
  • 博客等级: 少校
  • 技术积分: 3632
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 17:50
文章分类

全部博文(293)

文章存档

2015年(13)

2014年(58)

2013年(73)

2012年(25)

2011年(30)

2010年(86)

2009年(8)

分类: 项目管理

2014-06-08 16:06:49

a.git diff的用法
  http://blog.sina.com.cn/s/blog_40e9d4dd0100xi8p.html
  git diff:是查看working tree与index file的差别的。
  git diff --cached:是查看index file与commit的差别的。
  git diff HEAD:是查看working tree和commit的差别的。
b.gitlab多人协同工作
  http://herry2013git.blog.163.com/blog/static/219568011201341111240751
c.
d.Git使用过程遇到的问题
   http://blog.csdn.net/leichelle/article/details/27378195
1. Git push 出错以及server端没有显示push后的文件的解决方法

Git: push 出错的解决 master-> master (branch is currently checkedout)

在使用GitPush代码到数据仓库时,提示如下错误:

[remote rejected]master -> master (branch is currently checkedout)
remote: error: refusing to update checked out branch:refs/heads/master
remote: error: By default, updating the current branch in anon-bare repository
remote: error: is denied, because it will make the index and worktree inconsistent
remote: error: with what you pushed, and will require 'git reset--hard' to match
remote: error: the work tree to HEAD.
remote: error:

...

 这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:

   [receive]
 
  denyCurrentBranch = ignore

或执行:git config receive.denyCurrentBranch ignore  达到相同作用。

在初始化远程仓库时最好使用 git--bare init   而不要使用:gitinit

      如果使用了gitinit初始化,则远程仓库的目录下,也包含worktree,当本地仓库向远程仓库push时, 

 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在worktree上,  也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset--hard才能看到push后的内容.

2. git pull出现如下错误:

You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me, either. Please
specify which branch you want to use on the command line and
try again (e.g. 'git pull ').
See git-pull(1) for details.
If you often merge with the same branch, you may want to
use something like the following in your configuration file:
    [branch "master"]
    remote =
    merge =
    [remote ""]
    url =
    fetch =
See git-config(1) for details.

解决:

git config branch.master.remote origin
git config branch.master.merge refs/heads/master

git diff这个命令能比较两个提交之间的差异,使用–name-only参数可以只显示文件名。例如:
$ git diff 608e120 4abe32e --name-only


git stauts 其中modify显示的就是当前本地修改的内容
untracked表示新文件
$ git checkout .
这条命令把 当前目录所有修改的文件 从HEAD中签出并且把它恢复成未修改时的样子.
注意:在使用git checkout 时,如果其对应的文件被修改过,那么该修改会被覆盖掉。

阅读(1256) | 评论(0) | 转发(0) |
0

上一篇:git相关

下一篇:proe的一些知识点

给主人留下些什么吧!~~