git 学习笔记 一

  • 一 安装

 apt-get install git-core

  • 二 基本应用

1. git init:        | 创建一个新的仓库。
2. git clone:       | clone 一个仓库。
3. git config       | 添加自己的帐号信息。
 git config --global user.name "yf123"
 git config --global user.email "yf123@126.com"
4. git add          | 添加文件 或者文件夹
5. git rm           |
6. git status
7. git diff
8. git diff --cached
9. git commit
10.git branch branch-name base
11.git branch -d /D         | 删除不需要的branch
12.git checkout branch-name | 切换到某个分支
13.git log
14.git tag

  • 三:开发模式

1.中央集权方式, centralized workflow
2 integration-manager workflow
3 dictator and lieutenants workflow

  • 四,查看远程分支的log

1 将远程分支的commit fetch到本地

git fetch

2 查看远程分支的log

git log <remote-branch>

  • 五, git am PATCH失败

$ git am PATCH

Applying: PACTH DESCRIPTION

error: patch failed: file.c:137

error: file.c: patch does not apply

error: patch failed: Makefile:24

error: libavfilter/Makefile: patch does not apply

Patch failed at 0001 PATCH DESCRIPTION

When you have resolved this problem run "git am --resolved".

If you would prefer to skip this patch, instead run "git am --skip".

To restore the original branch and stop patching run "git am --abort".

如果冲突发生,git只是输出上述信息,然后就停下来。一个小冲突会导致整个patch都不会被集成。

 

处理这种问题的最简单方法是先使用 git am --abort,然后手动的添加此patch, patch -p1 < PATCH,手动解决掉代码冲突,最后使用 git commit -a 提交代码。但是这样做有个问题就是你会失去PATCH中原本包含的commit信息(比如From,Date,Subject,Signed-off-by等)。应该有一种更聪明的方法。

 

在 .git/rebase-apply 目录下,存放着相应的补丁文件,名字是“0001” (在更新的git版本中,存放补丁文件的目录名有所改变,这里使用的git版本是 1.7.4.1)。

 

事实上,你可以使用 git apply 命令打patch(git apply 是git中的patch命令)。如同使用 patch -p1 命令时一样,然后手动解决代码冲突(检视生成的 .rej 文件,与冲突文件比较,修改冲突内容,并最终把文件加入到index中):

 

$ git apply PATCH --reject

$ edit edit edit

(译注:$ git status)

$ git add FIXED_FILES

$ git am --resolved

 

就这么简单!

想多一些解释,好吧。git am 并不改变index,你需要使用 git apply --reject 打patch(保存在 .git/rebase-apply),手动解决代码冲突,(译注:使用 git status 列出所有涉及文件),把所有文件(不仅仅是引起冲突的文件)添加到(git add)index,最后告诉 git am 你已经解决(--resolved)了问题。这样做的好处是你不需要重新编辑commit信息。而且,如果你正在打的是一系列patch(就是说你在打的是多个patch,比如 git am *.patch)你不需要使用 git am --abort,然后又 git am。

ref:http://blog.sina.com.cn/s/blog_5372b1a301015y0n.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值