这个网址很重要:https://gitee.com/progit/2-Git-%E5%9F%BA%E7%A1%80.html#2.4-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C

一、fork 别人的代码之后到自己本地,如果别人代码更新了,如何在自己本地区同步更新?

  第一步:

      首先 配置一个被自己fork 下来的项目的 原来的仓库地址(原项目所在的github的地址),命令如下: 

git remote add upstream <原仓库的 github 地址>

      然后用 git  remote  -v  查询一下当前有哪些源,如图

      

  第二步:

      如果你只想要拉取远程仓库的代码到本地(我用A表示原项目,B表示自己fork下来的项目),即把 A 新的代码更新到 B ,但是不合并。命令如下

git  fetch  upstream  

      如果要拉取并且将新的代码合并到自己本地项目中,命令如下:

git  pull  upstream 

      

      (注意,无论是fetch还是pull 都是将远程代码拉取到了 你当前所在的分支中的。)

      如果你想要拉去的只是原仓库的某个分支下的内容的话,只需在后面加上原仓库分支名即可,代码如下

git pull upstream dev

  这样就将新的项目更新到本地了。

二、如何提交一个干净的 pr(pull  request)?

  领导让你从克隆下来的代码中进行修改,将修改完的代码提交一个pr,而且只要今天的这次修改,昨天的修改不看,如何做呢?

    一开始提交的时候,很难受,每次在本地检查提交的是这次的修改,可是commit,然后push 之后发现,在github 上提交的是当前分支上之前所有的修改,为此没少被说(尴尬)。

    那正确的方法是什么呢?

      1、首先要fetch 新的代码到本地,确保代码是最新的,别修改了之后发现冲突了。

      2、通过  git  checkout  upstream/dev  注意是upstream 源的 dev分支。

      3、然后在这个dev 分支下git branch dev1 ,新建一个dev1分支,他的dev 的分支。

      4、此时,准备工作已经做完了,现在开始对代码尽情的蹂躏,把玩,完事儿之后,给个交代。提交你的改动,我是借助 pycharm 进行提交的 (GitHubDesktop也可以),如图

      快捷键(Ct'r'l + K)

        1区:你修改的所有代码,对于不想提交的代码,可以勾选前面的checkbox 选项框。

        2区:你的备注信息

        3区:是两次代码的对比

      

      5、接着就是push 你 commit 的代码,(快捷键 Ctrl + Shift + K),如图

      如果有你提交的 也有别人提交的 你要怎么办呢?如果不处理就全交上去了,会被开批斗会的。注意pycharm 有这个功能。

      看图下边 有一个 Current Bashch 默认是 All。之后提交的时候用鼠标选中要push 的代码就好了。

      

      6、push 完成之后,现在就把自己代码推送到了远端。接下来就是 向 老大提交pr了。进入自己的 github ,然后切换到自己的那个分支

      

      7、然后点击 New pull request ,进去之后 选择要将哪个分支下的代码 提交给 目标 的哪个分支。如图,右边是自己的仓库master  向 左边是目标仓库master,提交pr。这个是可以选择的。

      选完之后就会出现你推送上来的代码。

      

       8、就是Create pull request ,然后编辑你所要提交的信息

       9、之后commit 就行。

       到此为止,一个干净的pr算是提交完成了。

三、提交了pr之后发现,pr提交错了,又不想被领导看见,怎么办?

    1、可以先关掉github 上提交的pr。因为提交的pr都是有记录的。在Pull Request 中。 找到提交错的pr点进去。 如图:

    

     2、拉到最底下,关掉这次提交的pr。如图:

      

      3、然后重新提交。重新提交的时候,可能需要reset 一下版本。因为你commit之后,变动的代码,就不能在当前重新commit了。

四、本地提交commit 之后,如果还没有push ,发现提交的代码有问题,怎么办?

    1、比如,commit 之后备注信息是上一个commit 的备注信息,忘改了,怎么办?

    可以通过  git commit --amend  这个命令会打开最后一次commit 的 版本,然后对这个版本进行编辑。

    还不懂看图片

    

----- 待续

    

Git 自己的一些工作中的总结的更多相关文章

  1. git总结一、工作中常用基础命令

    首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...

  2. git 最新笔记,工作中的必会技能

    1.状态查看: git status 可以查看工作区,暂存区的状态 untracked 在暂存区没有该文件 modified 修改过 staged 使用git add 暂存过 2.添加操作: git ...

  3. 工作中常用Git指令操作

    常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...

  4. git在工作中的用法总结-使用篇

    上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...

  5. 工作中常用的Git操作--------(一)

    今天主要记录一下平常工作当中使用的git操作: 1.git的安装这里省略: 2.git的操作指令: 在项目开发中,经常是拉去经理已经搭建好的一个项目,也就是给我们一个git地址.比如:http://g ...

  6. git 工作中常用命令(结合vscode学习git 命令)

    作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...

  7. git工作中常用命令-工作中踩过的坑

    踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法. 1.基于远程develop分支,建一个本地task分支,并切换到该task分支 git checko ...

  8. git工作中常用操作总结

    这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...

  9. git工作中最常用的用法教程,不走命令行

    ·1.1 git的概述 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.  Git 是 Linus Torvalds 为了帮助管理 Lin ...

随机推荐

  1. [原创]Getting Started with Skywalking

    Getting Started with Skywalking Pre JDK 1.8+ Skywalking(v3.2.6) (All packages can be download from G ...

  2. linux基础学习7

      Linux 的开机流程分析 1. 加载 BIOS 的硬件信息与进行自我测试,并依据设定取得第一个可开机的装置: 2. 读取并执行第一个开机装置内 MBR 的 boot Loader (亦即是 gr ...

  3. 【spring boot】6.idea下springboot打包成jar包和war包,并且可以在外部tomcat下运行访问到

    接着上一章走呗:http://www.cnblogs.com/sxdcgaq8080/p/7712874.html 然后声明一点,下面打包的过程中,scope一直都是使用默认的范围 <!--用于 ...

  4. eclipse运行时弹出Fail to create the Java Virtual Machine

    找到eclipse程序所在目录,在目录下找到eclipse.ini文件,打开文件将com.android.ide.eclipse.adt.package.product下的值改成128m,org.ec ...

  5. DB2 SQL Error: SQLCODE=-805, SQLSTATE=51002 解决方法

    在操作大量数据时如果发生这种错误,说明不是db2 使用的 package没有绑定,而是 因为资源未释放,导致可以使用此package的资源不足,致使不能连接资源. 在程序中,对PreparedStat ...

  6. Codis的安装

    其他环境准备: 安装JDK,安装Zookeeper 1.创建codis账户 useradd codis passwd codis 2.解压codis3.1.3-go1.7.4-linux.tar.gz ...

  7. Struts2 convention插件试用+ Spring+Hibernate SSH整合

    第一步,引入struts2-convention-plugin-2.2.1.jar 然后,改动配置文件. 我是在struts.properties文件里改动的: struts.objectFactor ...

  8. 原生JavaScript技巧大收集100个

    原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var p ...

  9. UNP学习笔记(第六章 I/O复用)

    I/O模型 首先我们将查看UNIX下可用的5种I/O模型的基本区别: 1.阻塞式I/O 2.非阻塞式I/O 3.I/O复用(select和poll) 4.信号驱动式I/O(SIGIO) 5.异步I/O ...

  10. java:注解(二)

    自定义注解 使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口,由编译程序自动完成其他细节.在定义注解时,不能继承其他的注解或接口.@i ...