Category Archives: Git

Git添加本地忽略文件

之前博文中介绍过如何忽略某个文件,方法就是直接到工作的根目录下面创建一个 .gitignore

的文件,注意不要忘记那个点。

然后在这个文件中添加你要忽略的文件。

但是这个忽略文件是所有人共享的,因为你在commit和checkout都会提交或者下载这个文件。

继续阅读

Posted in Git | Leave a comment

Git设置默认的push分支

Git缺省情况下并没有什么默认的推送的分支,如果你执行

$> git push

warning: push.default is unset; its implicit value is changing in
Git 2.0 from ‘matching’ to ‘simple’. To squelch this message
and maintain the current behavior after the default changes, use:

继续阅读

Posted in Git | Leave a comment

git的remote server的操作

git的remote server的操作

 

 

git显示当前对应远程的URL

 

git remote show origin

 

输出结果如下,

Password:

* remote origin

  Fetch URL: xxx@xxx.xxx.xxx.xxx:/git-repo/myproduct/project1.git

  Push  URL: xxx@xxx.xxx.xxx.xxx:/git-repo/myproduct/project1.git

  HEAD branch: master

  Remote branch:

继续阅读

Posted in Git | Leave a comment

Git 合并

Git 合并

在git中合并branch是通过

git merge branch-name

merge过程中,如果没有冲突,直接告诉你成功,如果有冲突会告诉你有什么样的冲突,接下来我们要看看怎么解决冲突。

两种种方式

  1. 自动合并
  2. 手动合并

1. 自动合并

git checkout branch名字 — 文件路径名

继续阅读

Posted in Git | Leave a comment

Git查看有conflict的文件

Git查看有conflict的文件   我们在执行下面的命令合并代码的时候, git merge xxx   会显示有冲突的文件,接下来就要解决这些冲突,然后才能再次merge,但是当你解决完一个冲突文件后,发现忘了还有什么冲突的文件需要更改,这时候你也许想再次执行上面的命令看看能不能显示冲突的文件,不过这次让你失望了,不会显示,是你解决冲突先。   好了,说说怎么显示吧:   git diff –name-only –filter-diff=U   就这么简单。  

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

继续阅读

Posted in Git | Leave a comment

搭建git服务器

搭建git服务器

其实git和以前的的sourcesafe,cvs和svn不一样,它在程序上不分服务器端和客户端的,所有的git,在程序角度看都是对等的,但是实际应用上,我们需要人为的把它分成服务端和客户端。

所以安装git的客户端和服务端没有什么区别。只是服务端,

1. 开启sshd服务

在mac上面开启sshd的方法是

勾选,

system preference->sharing->remote login

2. 创建空gitrepository

git init --bare my-project.git

3. 安装类似github的opensource的web形式浏览git,这个是可选的

http://www.getgitorious.com/

4. 人为规定这个git为服务器,所有其他人clone这个服务器的代码,修改,然后在提交到这个服务器。

5. 从本地访问

初始化

git init

添加远程服务器

git remote set-url origin git@git.test.com:my-project.git

clone

git clone user@git.example.com:/opt/git/my_project.git

接下来就是添加一些文件,然后

git add

git commit

第一次提交到远程(这个很重要)

git push --set-upstream origin master

问题1

如果没有上面的步骤就会出现:

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.
fatal: The remote end hung up unexpectedly

继续阅读

Posted in Git | Leave a comment

git的.gitignore的使用

git的.gitignore的使用

当你在使用

git status

命令的时候你发现git检测到一些你不想让git监测到的文件,比如一些中间件文件,xxx.o xxx.obj tags等文件。如果没有这些文件的干扰,你在做staging的时候非常简单,

git add .

一个点就可以搞定,可是如果有了这些干扰,add就变得很麻烦,你可以通过下面几种方法

继续阅读

Posted in Git | Leave a comment

git列出更改的文件

git列出更改的文件

一定要知道提交所对应的commit的id,你的每一次提交git都会生成一个对应的id,如何查看这个id呢?

git log

下面的命令的xxxxxxxxxxxxxxxx和yyyyyyyyyyyyyyy是commit id

git列出某一次commit的更改

git show xxxxxxxxxxxxxxxxxx

git列出某一次commit的更改的文件的名字

git show –name-only xxxxxxxxxxxxxxxxx

或者

git show –stat –oneline xxxxxxxxxxxxxxxxx

或者

git diff-tree –no-commit-id –name-only -r xxxxxxxxxxxxxxxxxx

继续阅读

Posted in Git | Leave a comment

让Git监测你本地的操作

Posted in Git | Leave a comment

Git撤销merge

Git撤销merge

如果你merge后发现,并不是你想要的结果,那么需要撤销这次merge,下面提哦2种方法。

这2中方法有各自的试用的场景:

  • merge的时候有冲突,可用下面的命令撤销并且你还没有提交(commit)

git merge –abort

  • merge顺利完成,需要撤销,则使用

git reset –merge ORIG_HEAD

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

继续阅读

Posted in Git | Leave a comment