Git 自己的一些工作中的总结
这个网址很重要: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 自己的一些工作中的总结的更多相关文章
- git总结一、工作中常用基础命令
首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...
- git 最新笔记,工作中的必会技能
1.状态查看: git status 可以查看工作区,暂存区的状态 untracked 在暂存区没有该文件 modified 修改过 staged 使用git add 暂存过 2.添加操作: git ...
- 工作中常用Git指令操作
常用Git指令总结 前阵子有几天好不顺,可谓是喝水都呛着,更何况被Git给呛着了,还不轻,哈哈.所以打算总结一下自己在工作使用到Git相关的东西以及和大家探讨使用GIt的心得体会.于是,关于Git的的 ...
- git在工作中的用法总结-使用篇
上一篇介绍了git的环境安装配置,本篇对git在工作中常用的用法进行总结,已满足大部分的日常工作需求,对于其他的一些git命令用法在今后使用到时我也会更新上来,文中如有错误,欢迎大家指出来,谢谢~ 一 ...
- 工作中常用的Git操作--------(一)
今天主要记录一下平常工作当中使用的git操作: 1.git的安装这里省略: 2.git的操作指令: 在项目开发中,经常是拉去经理已经搭建好的一个项目,也就是给我们一个git地址.比如:http://g ...
- git 工作中常用命令(结合vscode学习git 命令)
作为一名前端开发,大家在工作中常常使用什么开发工具呢,我觉得我首选的是vscode,他配合git使用起来非常方便. 工作中常用三个命令: git终端常使用: git add . git commit ...
- git工作中常用命令-工作中踩过的坑
踩坑篇又来啦,这是我在工作中从git小白进化到现在工作中运用自如的过程中,踩过的坑,以及解决办法. 1.基于远程develop分支,建一个本地task分支,并切换到该task分支 git checko ...
- git工作中常用操作总结
这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...
- git工作中最常用的用法教程,不走命令行
·1.1 git的概述 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Lin ...
随机推荐
- hdu 4859(思路题)
Goffi and Squary Partition Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- Codeforces 731B Coupons and Discounts(贪心)
题目链接 Coupons and Discounts 逐步贪心即可. 若当前位为奇数则当前位的下一位减一,否则不动. #include <bits/stdc++.h> using name ...
- codevs——1044 拦截导弹(序列DP)
1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 某国为了防御敌国的导弹袭击 ...
- 查看tomcat启动文件都干点啥---Bootstrap.java
在上一章查看tomcat启动文件都干点啥---catalina.bat,说了在catalina.bat中都走了什么流程,最重要的是,我们得出了如下这段命令: _EXECJAVA=start " ...
- setlocale 与 mbstowcs 的问题
C++的字符串转换函数mbstowcs使用时容易产生bug... rapidxml_utils.hpp 的file(const char*filename)函数内会异常宕机... 需要在函数最开始添加 ...
- 解决vagrant不能正常挂载目录的问题
解决方案: vagrant plugin install vagrant-vbguest
- java关于Timer schedule执行定时任务 1、在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等
1.在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.对于这样的操作最方便.高效的实现方式就是使用java.util.Timer工具类. private java.util.Time ...
- 13.【nuxt起步】-部署到正式环境
已经购买centos服务器,并安装了nodejs环境 Secure CRT链接 Cd / Cd /var/www Mkdir test.abc.cn 用ftp 除了node_modules,其他都上传 ...
- netty实现长连接心跳检
主要逻辑: 使用netty实现长连接,主要靠心跳来维持服务器端及客户端连接. 实现的逻辑主要是: 服务器端方面: 1, 服务器在网络空闲操作一定时间后,服务端失败心跳计数器加1. 2, 如果收到客户端 ...
- springBoot与多数据源的配置
http://www.cnblogs.com/shenlanzhizun/p/5846475.html 最近有点忙,更新有点慢.今天进来说说一说springBoot中如何配置多数据源. 第一,新建一个 ...