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 ...
随机推荐
- javascript 表格隔行换色
用到的知识点: 获取表格元素 tbody 和 rows都是有索引的 这里我们只有一组tbody所以 索引是0 偶数行 索引取余2为0 奇数行 索引取余2不为0 通过 遍历行索引设置相应的颜色. < ...
- IIS 配置缓存
IIS8设置应用程序池-高级设置-启动模式:AlwaysRunning 应用程序池-高级设置-进程模型-闲置超时:1740 (分钟) 应用程序-高级设置-常规-预加载已启用:True
- IntelliJ中的Scala入门
IntelliJ IDE中的Scala入门 创建项目 打开IntelliJ并单击File => New => Project 在左侧面板中,选择Scala.在右侧面板中,选择IDEA. 将 ...
- codevs——1044 拦截导弹(序列DP)
1999年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 某国为了防御敌国的导弹袭击 ...
- Needle in a haystack: efficient storage of billions of photos 【转】
转自09年的blog,因为facebook在国内无法访问,故此摘录. The Photos application is one of Facebook’s most popular features ...
- ELK最佳实践
1.ELK最佳实践解析 a.用户通过nginx或haproxy访问ELK日志统计平台,IP地址为keepalived的vip地址; b.nginx将请求转发到kibana; c.kibana到es获取 ...
- asp.net 面试题(附答案)
这次面试遇到的一些问题有很基础,也有的一些我没有听过.根据经验不同或应聘职位和公司的不同等,遇到的面试问题肯定也不一样.本人两年半asp.net开发经验,这是我年后应聘asp.net工程师遇到的问题, ...
- UIView的任意圆角
今天在做项目的时候,遇到一个问题,grouped类型的tableview 怎么样才能让他们的一个view 其中一个角圆角? 如上图所示,其实我是用UILabel,但是箭头的位置总是尖的不太好看.设置l ...
- 数据挖掘-MovieLens数据集_电影推荐_亲和性分析_Aprioro算法
#!/usr/bin/env python2 # -*- coding: utf-8 -*- """ Created on Tue Feb 7 14:38:33 201 ...
- Linux学习之十八-sudo分权管理
sudo分权管理 1.为什么需要sudo? 当我的主机是多人共管的环境时,如果大家都使用 su 来切换成为 root 的身份,那么就得每个人知道 root 的密码,这样密码太多人知道可能会流出去,很不 ...