zoukankan      html  css  js  c++  java
  • Git学习日志

    Git学习文档

    1.登录远程服务器  192.168.1.10

    2.建立git 目录 /home/git/yu/git

    3.切换到git工作目录,创建项目 git init --bare test.git

    4.客户端下载 git clone git@192.168.1.10:/home/git/yu/git/test.git

    5.免登录设置  

      客户端执行 ssh-keygen -t rsa  在.ssh目录生成 id_rsa.pub 文 件 scp 到服务器 cat id_rsa.pub >> /home/git/.ssh/authorized_keys

    6.Git提交命令

      git add filename

      git commit -m “注释”

      若执行git push 报错 

          http://stackoverflow.com/questions/13148066/warning-push-default-is-unset-its-implicit-value-is-changing-in-git-2-0

          http://stackoverflow.com/questions/19720711/git-push-warning-questions

    7.Git分支相关命令

      查看分支 git branch -a

      创建分支 git branch name

      切换分支 git checkout name

      创建并切换 git checkout -b name

      合并某分支到当前分支 git merge name

      删除分支 git branch -d name

    8.普通合并 git merge --no-ff -m “注释” name

    9.快速合并

    10.普通合并

    11.分支管理策略

      主分支 master

      开发分支 develop

      功能分支 feature

      预发布分支 release

      BUG分支 other

    12.执行git push 命令时报错

      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

      error: failed to push some refs 'git@192.168.1.10:/home/git/yu/git/test.git'

      解决办法:

      git push origin branchname

      原因:

      首次提交pushGit 找不到你要提交的版本。

    13.服务端执行git命令提示

      fatal: This operation must be run in a work tree

      解决办法:

      git config --unset core.bare

      原因:

          http://stackoverflow.com/questions/1456923/why-am-i-getting-the-message-fatal-this-operation-must-be-run-in-a-work-tree

    14.Git常用命令

      1>.git pull 更新服务器代码到本地

        git pull origin master是将origin这个版本库的代码更新到本地的

      2>.master主分支

        git tag 给最近一次提交打个标签,git 里面叫“里程碑”。

        git tag -m “hello git”

      3>.git log 查看提交信息

        a). git log -p 查看历次的log信息及更改情况

        b). git log -p -4 查看距现在最近的4次的log信息及更改情况

        c). git log foldername/ 查看关于foldername/目录修改相关的log 信息

        d). git log --stat 查看log显示文件修改情况

        e). git log --stat packages/apps/Contacts/  查看关于 packages/apps/Contacts/目录修改相关的log显示的文件修改 情况

      4>.git status 查看工作目录和代码仓库的改动情况

      5>.Git fetch 
        从服务器的仓库中下载代码。(与服务器交互,从服务器上下载最 新代码) 
        相当于从远程获取最新版本到本地,不会自动merge,比Git pull更安 全些。 
        使用此方法来获取服务器上的更新。 
        例如:如果使用git checkout nov/eclair_rocket nov/eclair_rocket 服务器上的 分支名),则是获取上次使用git fetch命令时从服务器上下 载的代码;如果先使        用 git fetch ,再使用git checkout  nov/eclair_rocket,则是先从服务器上获取最新的更新信息,然后从 服务器上下载最新的代码。

      6>.git show

        显示对象的不同类型。

      7>.git config

        利用这个命令可以新增、更改Git的各种设置,例如 

        git config branch.master.remote origin

        就将master的远程版本库设置为别名叫做origin版本库。

      8>.git revert

        还原某次对版本的修改,例如:git revert commit_id (其中commit_idcommit代码时生成的一个唯一表示的字符串) 
        例如:

        git revert dfb02e6e4f2f7b573337763e5c0013802e392818 (执行此操 作,则还原上一次commit的操作)

    15.Git常见问题

      1>.git 修改提交用户名、用户邮箱等信息

        git config --global user.name "Your Name"

        git config --global user.email you@example.com

        全局的通过vim ~/.gitconfig来查看,编辑

        详见 http://blog.chinaunix.net/uid-26997997-id-3231891.html

      2>."remote:error:refusing to update checked out  branch:refs/heads/master"问题

        解决办法:

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

        [receive]
    
        denyCurrentBranch = ignore

      3>.无法查看push后的git中文件的原因与解决方法

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

      4>.如果使用了git init初始化,则远程仓库的目录下,也包含work tree, 当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就     没有问题), 那么push后的结果不会反应 在work tree上,  也即在远程仓库的目录下对应的文件还是之前的内 容。

        解决方法:

        必须得使用命令 git reset --hard 才能看到push后的内容.

        研究了很久不得其解,然后找到一条命令凑合着能用了:

        登录到远程的那个文件夹,使用

        git config --bool core.bare true

        详见 : http://www.cnblogs.com/cosiray/archive/2012/06/01/2530967.html

  • 相关阅读:
    Handler Looper MessageQueue HandlerThread
    Android屏幕适配
    android开发环境搭建
    Task
    C#语法糖
    Window Phone 开发学习
    Android ListView使用
    网络分析工具
    VS2005在水晶报表中如何显示数据库中保存的是图片路径的图片
    在SQL Server中获取Excel文件中所有Sheet工作表的名称
  • 原文地址:https://www.cnblogs.com/jeesezhang/p/4350313.html
Copyright © 2011-2022 走看看