zoukankan      html  css  js  c++  java
  • git,repo学习

    Repo:就是一组git命令的集合,repo init 下载一个分支。

    repo start 文件名 --all本地传建的另一个代码分支,用于备份作用。

    比如:repo start zhao --all

    git  brach 查看当前的分支,切换分支用git  checkout 分支名

    git diff查看代码变化(只是改动未暂存)。

    已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached 命令。

    Git 1.6.1 及更高版本还允许使用git diff --staged

    git add 文件名,添加到本地暂存。

    git commit -a  -m "initial project version"  

    -m 参数后跟提交说明的方式

     git log

    提交更新

    现在的暂存区域已经准备妥当可以提交了。在此之前,请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。所以,每次准备提交前,先用git status 看下,是不是都已暂存起来了,然后再运行提交命令 git commit

    移动文件

    git mv file_from file_to

    我们常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:

    $ git log -p -2
     

    仅显示简要的增改行数统计:

    $ git log --stat 

    每个提交都列出了修改过的文件,以及其中添加和移除的行数,并在最后列出所有增减行数小计。还有个常用的 --pretty 选项,可以指定使用完全不同于默认格式的方式展示提交历史。比如用oneline 将每个提交放在一行显示,这在提交数很大时非常有用。另外还有 shortfull fuller 可以用,展示的信息或多或少有些不同,请自己动手实践一下看看效果如何。

    修改最后一次提交

    有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:

    $ git commit --amend

    此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明,但将要提交的文件快照和之前的一样。

    启动文本编辑器后,会看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明覆盖刚才失误的提交。

    如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:

    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend

    上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。

    取消已经暂存的文件

    git reset HEAD benchmarks.rb

    取消对文件的修改

    git checkout -- benchmarks.rb

    添加远程仓库

    要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]

    $ git remote
    origin
    $ git remote add pb git://github.com/paulboone/ticgit.git
    $ git remote -v
    origin  git://github.com/schacon/ticgit.git
    pb      git://github.com/paulboone/ticgit.git

    现在可以用字串 pb 指代对应的仓库地址了。比如说,要抓取所有 Paul 有的,但本地仓库没有的信息,可以运行 git fetch pb

    $ git fetch pb
    remote: Counting objects: 58, done.
    remote: Compressing objects: 100% (41/41), done.
    remote: Total 44 (delta 24), reused 1 (delta 0)
    Unpacking objects: 100% (44/44), done.
    From git://github.com/paulboone/ticgit
     * [new branch]      master     -> pb/master
     * [new branch]      ticgit     -> pb/ticgit

    现在,Paul 的主干分支(master)已经完全可以在本地访问了,对应的名字是 pb/master,你可以将它合并到自己的某个分支,或者切换到这个分支,看看有些什么有趣的更新。

    从远程仓库抓取数据

    正如之前所看到的,可以用下面的命令从远程仓库抓取数据到本地:

    $ git fetch [remote-name]

    此命令会到远程仓库中拉取所有你本地仓库中还没有的数据。运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个分支合并到本地,或者只是取出某个分支,一探究竟。(我们会在第三章详细讨论关于分支的概念和操作。)

    如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下。所以,git fetch origin 会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。

    如果设置了某个分支用于跟踪某个远端仓库的分支(参见下节及第三章的内容),可以使用 git pull 命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。在日常工作中我们经常这么用,既快且好。实际上,默认情况下git clone 命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)。所以一般我们运行git pull,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。

     
  • 相关阅读:
    ASP的生成指定格式的GUID
    Principle
    Email icon generator
    Google 's Gmail
    防火墙
    注释
    对敏捷开发方法的一些疑问
    Faq about multimedia
    BSTR、char*和CString转换
    dshow配置环境vc6
  • 原文地址:https://www.cnblogs.com/oracleloyal/p/5391909.html
Copyright © 2011-2022 走看看