git 相关

[![996.icu](https://upload-images.jianshu.io/upload_images/2050774-641c93a057345057.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](https://996.icu)

1,git clone ..  克隆远程分支到本地。

2,git checkout branchName 在本地切换分支  

      git checkout -b branchName  // create and checkout a new branch

      git check out -t branchName // --trackset upstream info for new branch

      git checkout -h // 查看git checkout 帮助

3,git commit 提交本地改动

      git commit -m'some change' // 提交本地改动到本地仓库

      git commit -a // 提交本地全部改动到本地(需谨慎操作)

4,git push origin developer 推送本地仓库改动到远程仓库

      git push origin branchName // 该远程分支创建

      git push origin -u branchName // 该远程分支未创建时使用

5,git merge 合并分支

     git fetch origin developer // 从远程的origin仓库的developer主分支更新最新的版本到当前分支上

     git log -p branchName..origin/developer // 比较本地的branchName分支和origin/developer分支的差别

     git merge origin/developer // 合并内容到本地当前分支

     git pull // 相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。

6,常见操作

      git add 添加文件

      git add . 添加所有文件

      git stash //把本次自己的代码改动暂存起来

      git pull origin Developer //拉取远程最新的代码到本地,(相当于git fetch 和 git merge)

      git stash pop //恢复第一步暂存的代码,这时候如果代码中有冲突需手动解决

      git rm --cache '文件名' // 有时不想删除本地的文件, 只是想让git不再track, 这时可以使用 git rm --cached 文件路径

7,Github 上怎样把新 commits 使用在自己的 fork 上:

      1、配置上游项目地址。即将你 fork 的项目的地址给配置到自己的项目上。比如我 fork 了一个项目,原项目是 wabish/fork-demo.git,我的项目就是 cobish/fork-demo.git。使用以下命令来配置。

     ➜ git remote add upstream https://github.com/wabish/fork-demo.git

      然后可以查看一下配置状况,很好,上游项目的地址已经被加进来了。

     ➜ git remote -vorigin  git@github.com:cobish/fork-demo.git(fetch)origin  git@github.com:cobish/fork-demo.git(push)upstream    https://github.com/wabish/fork-demo.git(fetch)upstream    https://github.com/wabish/fork-demo.git(push)

      2、获取上游项目更新。使用 fetch 命令更新,fetch 后会被存储在一个本地分支 upstream/master 上。

      ➜ git fetch upstream

      3、合并到本地分支。切换到 master 分支,合并 upstream/master 分支。

      ➜ git merge upstream/master

      4、从远程仓库同步到 自己fork后的仓库 (同步分支等)

      ➜ git remote update

链接:https://www.zhihu.com/question/20393785/answer/105370502

参考资料:http://www.zhanglian2010.cn/2014/07/git-pull-vs-fetch-and-merge/
                  https://www.oschina.net/translate/git-fetch-and-merge?cmp&p=1#

                  http://www.jianshu.com/p/ae4857d2f868 // 如何从从detached HEAD状态解救出来


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文作者陈云峰,转载请注明。 这篇文章记录个人常用的一些命令,和记不住的一些命令,转载了并不断更新。 Git官网 ...
    陳云峰阅读 2,847评论 0 24
  • Git 是一个很强大的分布式版本控制系统。它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势...
    熊熊要更努力阅读 267评论 0 0
  • 1、横向思维。从不同的角度去思考问题,才有可能看到问题的本质,才有可能想到最佳的解决方案。凡事多想想,在时间允许的...
    Maymei6阅读 225评论 0 0
  • 前些日子,为了种点火龙果,特意从乡下弄了些土回来。意外发现长了一棵小苗,初步判断为瓜类植物。既然有缘,就让它长长试...
    bohomama阅读 399评论 0 0
  • A代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B集成代码生成器[正反双向](单表、主...
    e99c51e5f4eb阅读 175评论 0 0