zoukankan      html  css  js  c++  java
  • Git 场景串接板

    要玩 Git,首先得有一个 Git 仓库吧。
    仓库拉取用 clone:
    $ git clone http://192.168.140.206/test_project.git

    现在要基于刚才的仓库做开发,通常是创建一个本地的分支。
    创建分支:
    $ git branch my_branch

    有创建分支,合情合理的得有查看分支、删除分支、切换分支的需求。
    查看分支:
    $ git branch // 显示本地分支
    $ git branch -a // 显示本地+远程分支

    删除分支:
    $ git branch -d my_branch

    切换分支:
    $ git checkout my_branch

    好了,当前在 my_branch 分支,现在开始干活了。一段时间后,想查看下当前做了哪些改动。
    当前仓库状态显示:
    $ git status

    然后我想,怎么看下具体到某个文件做了哪些变动呢?
    文件比较:
    $ git diff your_file

    my_branch 是一个本地分支,为了保证本机报废后修改不丢失,我们打算把 my_branch 推送到远程。
    推送本地分支到远程:
    $ git push -u origin my_branch

    经过一番检查、调试,确认改动没问题,可以提交了。
    提交更新:
    $ git commit . -m "your_commit_comments" // .代表当前目录下,所以 commit 了当前目录下的所有改动
    $ git commit one_file -m "your_commit_comments" // 仅 commit 指定文件

    如果对刚才的提交描述 "your_commit_comments" 不满意,想修改
    $ git commit --amend
    然后编辑之。

    commit 只是提交到本地,远程仓库并没有更新。更新远程仓库用到 push 操作:
    git push -u origin my_branch

    对于新增加的文件,其并不处于 Git 的管辖(Git 术语叫 Untracked files),需要 add 操作:
    $ git add new_file

    对于一个多人协作的仓库,使用 pull 拉取最新的变动:
    $ git pull
    "Already up-to-date." 说明本地已经是最新的

    这之后,我们想查看下提交记录,使用 log 操作:
    $ git log

    查看某个提交的更改内容,使用 show 操作:
    $ git show


    这个显示的是最近一次提交的更改内容,如果查看任意一个提交的,需指明 commit id:
    $ git show commit_id
    commit_id:即 git log 展示的 commit 后面的那一串数字(如:b7e0755e087bd360f1fec70a8bec079e1184a134)


    有这么这个场景,我们想回退到之前的某个版本,使用 reset 操作:
    $ git reset --hard commit_id
    :此为危险操作!仅限本地使用!!!

    想象一下这个场景,我们想把 A 分支的某个 commit 合并到 B 分支,这就用到了 cherry-pick 操作:
    1、记下 A 分支的那个 commit id
    2、切换到 B 分支
    3、git cherry-pick commit_id

    以上可以应对 Git 绝大部分的使用,高级用法可以研究 Pro Git 这本书:

    Download Ebook

  • 相关阅读:
    JavaEE思维导图
    JAVA EE期末项目-企业论坛
    RPC
    SQL、HQL、JPQL、CQL的对比
    eqauls和hashCode的对比
    关于JSON
    JavaServer Faces标准请求/响应周期
    Applets
    Ajax
    Async分析
  • 原文地址:https://www.cnblogs.com/rockyching2009/p/13448274.html
Copyright © 2011-2022 走看看