git(转载谢谢)
Git可视化极简易教程 —— Git GUI使用方法
(新版的git默认已不能自行选择中文语言了)
前言
之前一直想一篇这样的东西,因为最初接触时,我也认真看了廖雪峰的教程,但是似乎我觉得讲得有点多,而且还是会给我带来很多多余且重复的操作负担,所以我希望能压缩一下它在我工作中的成本,但是搜索了一下并没有找到满意的教程,新的一年自己梳理一下自己的经验。
可能男生们大神比较多,觉得Git是如此简单,便已觉得命令行操作就是SO EASY,甚至或许有看不起可视化这样面对低端用户的心理,好的,那您就当我是水货可以右上角了。
我一直觉得类似GIT这样的东西,他对于我而言只是个不完全必须的工具,我并不想成为使用他的专家,类似的东西,今天有GIT,明天可能有GAT,或者GAY?所以快速地掌握它我需要的重要日常操作,最好是10分钟,那就好了,如果你有类似的想法,好吧,那不要废话了,咱们赶紧开始。
(全文限windows系统。)
何为GIT?
配置账号
运行gitbash
1
2
|
git config --global user.name "Your Name" git config --global user.email you@example.com |
权限校验
首先,您的数据保存在远端服务器一份,服务器需要对您的身份识别。一段RSA加密字符串。
启动GUI,菜单-帮助,【Step1-创建密钥】Generate SSH KEY
【Step2-添加密钥】去你的代码托管服务器,你的账号设置中,添加它。
比如在Github中的地址,title随意,比如你可以用Home,company等作为标识来区别。
Gitlab中的演示
账号保存
如果不做设置的话,每次提交的时候,都会询问你填写密码。于是我们先来把这个设置好。
【Step3.1-添加环境变量】
我的电脑 - 属性 - 高级系统设置 - 环境变量 - 新建变量
变量名HOME,变量值%USERPROFILE%
【Step3.2-创建账号文件】
开始 - 运行 中打开%Home%,即windows的管理员账号文件夹。
新建一个名为“_netrc”的文件,填写你要保存的服务器地址及账号密码,保存。
操作流程
如果你用过SVN的话就会大致了解操作流程,如果没有也没关系。
初始化(Git init)
顾名思义,就是新建一个项目,跟你用PS新建一张画布一样。在你新建好的文件夹中右键创建即可,若点击Git bash则以此目录作为当前目录进入命令行状态。
添加(Git add)
添加并不是提交代码到远程Git库,Git也并不会你修改了代码它自动帮你保存你修改的每一个过程。你修改了很多文件,但未必所有的修改,最终打算提交上去,那么哪些是你打算提交的,你可以添加进来待会提交,叫做缓存改动。很简单,比如本地电脑上我有整个项目完整的东东,甚至包含了账号密码的一些文件,但是我只是ADD除账号密码之外的文件,并不缓存账号密码文件的改动。不被ADD它就不会参与后续的操作。通常我都会直接全部缓存,它会自动寻找所有有改动的文件,而不需要提交的文件放在忽略的文件夹中。(关于忽略下面我们就会说到)
忽略(.gitignore)
但实际上大部分我们的文件都是一起提交的,并不会逐一去甄选,又或者类似PSD这样的大源文件以及并不作为产品最终展示的过渡文件,我们可以统一放在临时文件夹中,并忽略此文件夹。
提交(Git commit)
提交则代表此前被添加ADD的文件已确认被提交到Git库了。需要注意的是,如果你改变代码的缩进(尽管没有修改内容),默认状态下会被识别为整个代码全部变更。提交的时候是要求必须要写备注的。
上传(Git push)
顾名思义,上传则是上至远端服务器了,小伙伴们可以看到咱们的渣渣代码了(好羞涩。
获取远程代码(Git remote/fetch)
先来设置与远程地址的关联,Git remote:
填写SSH地址与项目名。下面有3个选项:
第一个:立刻获取最新改动(所以如果是本地克隆远程一个项目,也可以这样操作)。
第二个:本地新建的项目,初始化远程仓库并发布过去。
第三个:什么也不做。
在项目的进行过程中,获取仓库的最新改动Git fetch
选择从远程仓库哪个分支中获取更新,如果没有则只有主支。
提示成功则改动的已经被存放到临时区了,你一会还需要进行合并操作,如果没有任何改动,则列表中是空的,比如:
合并(Git merge)
请注意啦,不管你本地有没有代码,fetch之后呢,是都要merge的,也就是说,fetch下来后,大大的代码还在一个小黑屋里,我们需要把它装到自己兜里。
选择合并 - 本地合并,然后选择本地的分支(如果你没有创建分支,则只有1个主支master)
冲突处理(Conflict)
合并的过程中可能会出现一些红色的文件与一堆叹号,这时候慌慌张张的点啥它都不管用,不用担心,不是程序坏了,只是有冲突的文件,例如A童鞋写了width:1180px,你写了width:auto。那到底用你们谁的呢。
在GUI界面正文区,正文区右键可以选择,Use local version(使用本地版本)或Use remote version(使用远程版本),到底用你的还是小伙伴的?或者你也可以自己打开文件进行手动处理。
其他还有分支和一些高级功能,如果需要了解可以自己再摸索摸索,以上的操作已经可以满足简单的开发需求了。
总结
1.先进行安装,密钥添加,账号等一次性操作。
2.操作流程:
是不是觉得so easy了呢,赶紧have a try!
补充:
1.GUI界面中中文乱码问题:Git安装目录,etc/gitconfig,添加如下,中文正常显示
[gui]
encoding = utf-8
2.GUI添加自定义命令
Tools - Add,名称填写菜单展示时的名称,Command填写命令,例如“git submodule foreach git pull origin master”更新公共库。勾选global为全局可用。
3.找不到文件BUG
这里补充一个问题,例如你新建了分支后,有可能出现新拉取的分支找不到的现象,请关闭GUI重新打开即可。
4.Windows下的多窗口命令行
添加环境变量;C:\Program Files\Git\cmd (改为你的实际路径)
git(转载谢谢)的更多相关文章
- hibernate缓存机制详细分析 复制代码 内部资料 请勿转载 谢谢合作
您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...
- JDBC 内部资料 请勿转载 谢谢合作
一.JDBC常用接口.类介绍 JDBC提供对独立于数据库统一的API,用以执行SQL命令.API常用的类.接口如下: DriverManager 管理JDBC驱动的服务类,主要通过它获取Connect ...
- 在IDEA中实战Git(转载自)
转载自:http://blog.csdn.net/autfish/article/details/52513465 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组 ...
- 推荐!手把手教你使用Git(转载)
转载地址http://blog.jobbole.com/78960/,涂根华的博客. Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: ...
- Git 转载
我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...
- Web Service简介 内部资料 请勿转载 谢谢合作
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- Hibernate框架简述 内部资料 请勿转载 谢谢合作
Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate.c ...
- java中filter的用法 内部资料 请勿转载 谢谢合作
filter过滤器主要使用于前台向后台传递数据是的过滤操作.程度很简单就不说明了,直接给几个已经写好的代码: 一.使浏览器不缓存页面的过滤器 Java代码 import javax.servlet ...
- filter(滤镜) 属性 内部资料 请勿转载 谢谢合作
Filter 描述 none 默认值,没有效果. blur(px) 给图像设置高斯模糊."radius"一值设定高斯函数的标准差,或者是屏幕上以多少像素融在一起, 所以值越大越模糊 ...
随机推荐
- java.lang.Integer源码浅析
Integer定义,final不可修改的类 public final class Integer extends Number implements Comparable<Integer> ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
- ES6 入门Promise
Promise是一个对象用来传递异步操作的消息,有三种状态:Pending(进行中),Resolved(已完成又称Fulfilled)和Rejected(已失败). 特点:对象状态不受外界的影响.一旦 ...
- js中的数值转换
js中有3个函数可以把非数值转换为数值:Number().parseInt().parseFloat().其中Number()可以用于任何数据类型.parseInt()及parseFloat()用于将 ...
- Java内存泄漏的几种可能
Java内存泄漏引起的原因: 内存泄漏是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成内存空间的浪费称为内存泄漏. 长生命周期的对象持有短生命周期对象的引用就很可能发 ...
- android 开发 View _14 MotionEvent和事件处理详解,与实践自定义滑动条View
转载https://blog.csdn.net/huaxun66/article/details/52352469 MotionEvent MotionEvent对象是与用户触摸相关的时间序列,该序列 ...
- LVM逻辑卷疑问?
创建完逻辑卷后,删除以/dev/vdb1和/dev/vdb2为基础的分区后,逻辑卷依然生效???
- ssh服务器配置
使用如下终端命令可以在 Linux 主机中安装 ssh服务器sudo apt-get install openssh-server lin@lin-machine:~$ sudo apt-get in ...
- Django 部署(Nginx+uwsgi)
使用 uwsgi 来部署 安装 uwsgi sudo pip install uwsgi --upgrade 使用 uwsgi 运行项目 uwsgi --http :8001 --chdir /pat ...
- 使用List需要注意的点
目录 1. 概述 2. Arrays.asList(); 2-1. 产生不可操作的集合 2-2. 需要传入对象数组而不是基本类型数组 3. arrayList.subList(); 3-1. subL ...