• git 学习(git fetch/ git pull/ git rebase/ git cherry-pick的区别)


    使用git做开发管理:

    1. Git clone  将远程代码克隆到本地;

    2. Git branch  查看本地branch (git clone 时会创建 master)

    3. git branch -a  查看本地和远程分支;(远程分支包括 remotes/origin/master 远程master分支)

    4. Git remote -v 查看远程库对应的简短名称 (origin  。。。)

    5. Git checkout -b bug origin/master 创建本地开发分支

    6. Git branch -vv 查看本地分支关联的远程分支的对应关系

    7. Git fetch origin master 

    (git fetch 并没更改本地仓库的代码,只是拉取了远程 commit 数据,将远程仓库的 commit id 更新为latest。具体的行为你可以尝试看看.git文件夹:./git/refs 里面有三个文件夹:heads、remotes、tags。FETCH-HEAD origin/master)

    8. git cherry-pick origin/master git rebase origin/master   git merge origin/master合并代码

    (merge 把另一个分支合并到当前分支上; rebase 变基 把当前分支的提交在另一分支上重演。如果可以成功重演,本分支将会消失, merge会有两条提交历史记录线路,有个菱形图,rebase只有一条提交历史记录线路图,无菱形图; cherry-pick 把本分支或者其他分支的某一次或某几次提交,在当前分支上重演。操作单元是commit 不是branch)

    或者合并7,8 :

    git pull == git fetch;  git merge origin/master

    git pull --rebase == git fetch;git rebase origin/master

    因为git中都fetch命令是将远程分支的最新内容拉到了本地,但是fetch后是看不到变化的,本地多了一个FETCH_HEAD的指针,checkout到该指针后可以查看远程分支的最新内容。理解git fetch,关键是理解FETCH_HEAD,FETCH_HEAD指的是:某个branch在服务器上的最新状态。如果没有显示地指定远程分支,则远程分支的master将作为默认的FETCH_HEAD。如:git fetch origin或者git fetch origin master。如果指定了远程分支,则将这个远程分支作为FETCH_HEAD。

    9. git push 提交到远程

  • 相关阅读:
    Jquery与mootools对比
    Maven + Eclipse + Tomcat
    一位老工程师前辈的忠告 (转载)
    如何利用JConsole观察分析JAVA程序的运行
    程序员该怎样放松?8个好网站推荐(转载)
    [转]关于程序员的59条搞笑但却真实无比的编程语录
    关于程序员的59条搞笑但却真实无比的编程语录
    [原]AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)
    AppPoolService-IIS应用程序池辅助类(C#控制应用程序池操作)
    [译]C#控制管理VisualSVN Server
  • 原文地址:https://www.cnblogs.com/fanhaha/p/12358055.html
Copyright © 2020-2023  润新知