【笔记】git 的常用操作命令(持续更新。。。)
项目正在如火如荼的开展,代码量的繁多不得不令我们运用 git 这个有用的工具去管理我们共同协作的代码
git 在这里不作什么介绍了,百度一大堆的教程
首推廖雪峰老师的:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
还有一篇我觉得写得不错的教程:http://blog.jobbole.com/78960/
好了,用了一天的git 记录一下自己觉得比较常用的命令语句:
-------------- 必备命令 ----------------
1、安装完 git 后第一步需要声明你自己的身份
//设置本地用户名
git config --global user.name "Your Name"
//设置本地邮箱
git config --global user.email email@example.com
//配置本地公钥 后面提示一直回车
ssh-keygen -t rsa -C "youremail@example.com" 邮箱改成自己的
完成后生产公钥 会提示在那个文件夹 把那个文件夹下后缀pub的文件打开
(密钥的路径默认保存在git 窗口上方的路径提示文字那里)
------------ 开始部署本地仓库 ----------------
1、首先你要在github 上创建一个仓库(不作详细介绍)
2、创建完后,按下自己的头像,点击 settings
2.1、点击左侧边栏的 ssh and GPG keys,右边有new ssh key,把后缀名为pub 的ssh 文件全部复制 然后粘贴到 key 输入框中,title 为任意填写
3、在 git 控制台中创建一个本地仓库(就是一个文件夹而已)
3.1、通过 cd 命令进入到你想指定本地仓库的磁盘
3.2、通过 mkdir 命令在指定磁盘目录下创建一个本地仓库,命令为: mkdir 仓库名
4、创建完成后,使用git init 初始化刚刚创建完的本地仓库
5、使用 git remote add origin <github 远程仓库地址> 添加github 远程仓库
6、使用 git pull origin <分支名> 拉取分支
默认情况下 当进行完第5 步的时候,本地仓库就只有一个分支 master或者其他主分支,而主分支以外的分支是不会被拉取的,所以要单独运行这个命令 获取并未合并的次分支
注:分支是什么,这里不作介绍,本文顶部的文章链接会有解释
7、拉取完次分支后便可以在工作区修改你的代码,修改完代码之后使用:git add <文件名> 添加到本地仓库的暂存区
8、使用 git commit -m “版本描述” 把暂存区的文件上传到版本区
9、做完这些之后可以将此分支同步到远程库,使用 git push <分支名>
---------------- 从远程仓库更新本地仓库 --------------
首先,从远程仓库更新本地代码的方式是首先要获取最新的版本,然后将本地仓库的版本和远程仓库的版本进行何必并具体操作如下
1、获取最新的版本
git fetch <远程版本库名> <分支名>
2、将本地的版本和远程版本合并
git merge <远程主机名> <分支名>
上面的两个步骤可以整理为一个操作:
git pull <远程主机名> <分支名>
---------------- 说说 2017-05-09 发生的事情 -------------------
今天在更新项目的文件的时候忘记先同步远程仓库的版本再提交自己的修改了,导致有一些同名的修改文件发生冲突,于是解决办法是这样的
(博主在运行git bash 的时候查了一下本地仓库的状态 git status,发现有一大堆文件没有从远程仓库更新 以及还有一个文件没有 add 和 commit)
于是我先把未被 add 和 commit 的文件分别进行 add 和 commit 操作,之后再通过 git pull origin dev 把远程仓库的版本更新整合到本地,于是问题解决了
至于那个为被push 的文件,博主转用 github desktop 客户端push 上去了(毕竟图形化的工具个人还是比较喜欢的)
。。。持续更新 2017-05-09
------------------------------------ 更新于 2018-03-17 -----------------------------------
一年了...
遇到了这样一个问题,想把本地仓库推到远程仓库上,于是在 github 上面建了一个仓库,但是当我在本地 使用 git pull origin master 的时候出现了如下警告:
fetal: refusing to merge unrelated histories
无法合并不相关的历史记录于是百度一下发现可以用这个语句解决
git pull origin master --allow-unrelated-histories
原文地址:http://blog.csdn.net/byoooy/article/details/52263404
----------------------------------------- 更新于 2018-05-07 -----------------------------------------
今天遇到了一个新问题
项目中有些文件想让git 提交的时候忽略掉 于是在 gitignore 文件中设置忽略文件的路径
但是 保存修改后发现需要被忽略的文件还是会放到暂存区里面
百度了一下原来是git 缓存的缘故 于是我们可以使用下面的命令清理一下git 的缓存
git rm --cached . 或者 git rm --cached 特定文件的路径 之后我们便可以发现被指定忽略的文件已经不再在暂存区了
【笔记】git 的常用操作命令(持续更新。。。)的更多相关文章
- git使用技巧集合(持续更新中)
git使用技巧集合(持续更新中) 在团队协作中,git.svn等工具是非常重要的,在此只记录一些git使用过程中遇到的问题以及解决方法,并且会持续更新. 1.git commit之后,还没push,如 ...
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
- git常用命令[持续更新]
git commit -am "abc" 提交已经删除过的文件 git reset --hard HEAD 用于清除跟踪文件的修改
- SAM 做题笔记(各种技巧,持续更新,SA)
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模 ...
- git 常见问题收集(持续更新中)
1.问题:在配置完成github上的ssh后如何使用ssh? 答: 1)http方式 url =https://github.com/username/test_repo.git 2)ssh方式:把u ...
- git使用总结(持续更新,个人总结记录使用)
1.拉取代码报错(Couldn't merge origin/master: You have not concluded your merge (MERGE_HEAD exists).) 造成原因: ...
- iOS 常用三方(持续更新)
iOS 常用三方 1.ZWMSegmentController 分页控制器 https://github.com/weiming4219/ZWMSegmentController
- 读书笔记|Windows 调试原理学习|持续更新
关于调试方面的学习笔记,主要来源于<软件调试>的读书笔记和梦织未来论坛的视频教程 1.调试器使用一个死循环监听调试信息. DebugActiveProcess(PID);while(TRU ...
- Linux常用命令——持续更新(2018-05-09)
此命令默认是在centos环境下执行,除非特殊标明. 1.查看ip: ifconfig 2.创建指定用户并分配到某个组:创建用户user并分配到root组 useradd -g root user 3 ...
随机推荐
- (翻译)Xamarin.Essentials 最新预览版的更多跨平台 API
原文地址:https://blog.xamarin.com/cross-platform-apis-xamarin-essentials-latest-preview/ 在 Microsoft Bui ...
- ELK系列--实时日志分析系统ELK 部署与运行中的问题汇总
前记: 去年测试了ELK,今年测试了Storm,最终因为Storm需要过多开发介入而放弃,选择了ELK.感谢互联网上各路大神,目前总算是正常运行了. logstash+elasticsearch+ki ...
- 《深入理解Android2》读书笔记(三)
接上篇<深入理解Android2>读书笔记(二) PackageManagerService PackageManagerService负责系统中Package的管理,应用程序的安装.卸载 ...
- 深入了解HTTP协议
1.HTTP协议简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准. 1.1背景 设计HT ...
- 制作启动U盘
概述 将普通的u盘制作成启动u盘,用于引导安装操作系统. 材料: 普通U盘 需要有足够的存储空间,里面的内容请提前备份. 操作系统iso文件 PowerISO 商业软件,有试用期:用来制作启动u盘 正 ...
- 贪心【CF1029E】Tree with Small Distances
Description 给定一棵树.要求往树中加入一些边使得从1到其他节点的距离至多是2 . 输出加入边的最小数量.(边全部都是无向的) Input 第一行一个整数n,表示树中的节点个数. 接下来n− ...
- 多协议注入工具t50
多协议注入工具t50 t50是Kali Linux自带的一款网络数据包注入工具.该工具支持15种协议,不仅涵盖常规协议(ICMP.TCP.UDP),还涵盖基础协议和路由协议(GRE.IPSec.R ...
- Visual Studio 2017创建XAML文件
Visual Studio 2017创建XAML文件 在Visual Stuido 2015中,在已经创建好的项目中添加XAML文件,只要右击项目,单击“添加”|“新建项”命令,然后从“添加新项” ...
- Java中的对象池技术
java中的对象池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复重复创建相等变量时节省了很多时间.对象池其实也就是一个内存 ...
- [Luogu2540][NOIP2016]斗地主增强版(搜索+DP)
增强版就是原版中两鬼不算对子的版本. 先爆搜出完所有对子,剩下的牌DP处理. 考虑每个数码的拆牌情况,最多可能被拆成5种情况:1+1+1+1,1+1+2,1+3,2+2,4.故DP状态数最多为5^13 ...