GIT操作笔记

1:将工程中的所有文件增加到git暂存区:

y@y:testapp$ git add .

2:推送报以下错误:

y@y:android_test$ git push origin master 

Counting objects: 42, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (27/27), done.

error: insufficient permission for adding an object to repository database ./objects



fatal: failed to write object

error: pack-objects died of signal 13

error: 无法推送一些引用到 '[email protected]:android_test'

 

由于git服务端的仓库新建完成后没有修改文件拥有者为git所致:

解决方法:

root@wz:/home/git/repositories# chown git:git android_test.git/ -R

 3:git fetch和pull的区别

参考:http://www.oschina.net/translate/git-fetch-and-merge

y@y:android_test$ git fetch origin 

y@y:android_test$ git merge origin/master 

“git fetch”命令执行完毕之后,还不会立即将下载的文件合并到你当前工作目录里,这就给你了一个选择下一步操作的机会,要是想将从远程分支下载的文件更新到你的工作目录里,你需要执行一个“合并(merge)”操作。例如,我当前的本地分支为”master“(执行git checkout master后)。

如果你只是想看看本地分支和远程分支的差异,你可以使用下面的命令:

git diff master origin/master

虽然 git pull 大部分时候是好的,特别是如果你用CVS类型的方式使用Git时,它可能正适合你。然而,如果你想用一个更地道的方式(建立很多主题分支,当你需要时随时改写本地历史,等等)使用Git,那么习惯把 git fetch 和 git merge 分开做会有很大帮助。

4:git fetch origin报以下错误

y@y:wstswgl$ git fetch origin 

remote: 对象计数中: 66, 完成.

remote: 压缩对象中: 100% (61/61), 完成.

remote: Total 66 (delta 32), reused 0 (delta 0)

error: insufficient permission for adding an object to repository database .git/objects

fatal: failed to write object

fatal: unpack-objects failed

ll .git/查看了以下文件列表信息

y@y:wstswgl$ ll .git/

总用量 120

drwxrwxr-x   8 y    y     4096  5月  7 17:53 ./

drwxrwxr-x  11 y    y     4096  4月 22 19:51 ../

drwxrwxr-x   2 y    y     4096  4月 22 19:38 branches/

-rw-rw-r--   1 y    y       31  5月  7 17:51 COMMIT_EDITMSG

-rw-rw-r--   1 y    y      269  4月 22 19:38 config

-rw-rw-r--   1 y    y       73  4月 22 19:38 description

-rw-rw-r--   1 y    y        0  5月  7 17:53 FETCH_HEAD

-rw-rw-r--   1 y    y      172  4月 25 09:44 gitk.cache

-rw-rw-r--   1 y    y       23  4月 22 19:38 HEAD

drwxrwxr-x   2 y    y     4096  4月 22 19:38 hooks/

-rw-r--r--   1 root root 64387  5月  7 17:51 index

drwxrwxr-x   2 y    y     4096  4月 22 19:38 info/

drwxrwxr-x   3 y    y     4096  4月 22 19:45 logs/

drwxrwxr-x 245 y    y     4096  5月  7 17:53 objects/

-rw-rw-r--   1 y    y       41  4月 27 17:21 ORIG_HEAD

drwxrwxr-x   5 y    y     4096  4月 22 19:45 refs/

index文件属于root用户,将其修改为当前y用户

root@y:wstswgl# chown y:y .git/ -R

修改完成后,问题解决:

y@y:wstswgl$ git fetch origin 

remote: 对象计数中: 66, 完成.

remote: 压缩对象中: 100% (61/61), 完成.

remote: Total 66 (delta 32), reused 0 (delta 0)

展开对象中: 100% (66/66), 完成.

来自 192.168.0.143:/home/git/gits/wstswgl

   9b7ecc4..0c563c3  master     -> origin/master

y@y:wstswgl$ 

 

你可能感兴趣的:(git)