zoukankan      html  css  js  c++  java
  • 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: 无法推送一些引用到 'git@192.168.0.143: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$ 
  • 相关阅读:
    Docker磁盘垃圾清理
    什么是容器编排?
    Docker 容器连接
    docker入门操作整理
    Docker学习的几个建议和技巧
    支付清结算之电商侧处理
    在Linux 中进入单用户模式的技巧
    教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor
    NetSuite助力各行业企业快速发展
    linux需要你的不懈努力
  • 原文地址:https://www.cnblogs.com/yshyee/p/4288944.html
Copyright © 2011-2022 走看看