1.安装

Liunx直接打开shell界面,输入:sudo apt-get install git-core ,按下回车之后输入密码即可完成安装;

Windows系统在https://git-for-windows.github.io/网站上直接下载安装即可。

2.创建代码仓库

在这之前先配置你的身份信息,Linux系统直接打开shell界面,Windows找到git bash 并打开。输入如如下命令:

git config --global user.name "name"

git config --global user.email"name@email"

现在开始了!先进入到你的文件,如图

在此页面输入git init 完成。

3.提交本地代码

git add name.txt 即可添加单个文件

git add src 添加整个文件夹

git add . 添加所有文件

现在已经添加好了,只需要再提交即可,输入 git commit -m "First commit." 。-m后面加上提交的描述信息(没有会被认为不合法)。

4.忽略文件

有些文件你并不想提交(比如bin目录会自动生成的),可以在该项目中创建一个.gitignore的文件,然后编辑文件里面的内容,添加bin/保存即可。再次提交本地代码的时候,bin文件将不会被提交。

5.查看修改内容

在项目的根目录下输入 git status 即可查看修改情况。

但是如何才能看到修改内容呢?输入git diff 即可查看到修改内容。

如果你只想看某个文件的修改内容,输入 git diff name.txt 即可。

6.撤销未提交的修改

有时我们需要撤销未提交的修改,那么输入 git checkout name.txt 即可。不过这种办法是只适用于那些还未执行过add命令的文件,如果已经add过,我们就需要先对其取消添加,然后才可以撤回提交。取消添加使用命令 git reset HEAD name.txt

7.查看提交记录

有时你需要查看一下提交记录,输入 git log 即可。

当提交记录非常多的时候,你只关心其中的某一条,可以在命令中指定该记录的id,并加上-1参数表示我们只想看到一行记录。比如

git log 2e7c0547af28ccle9f303a4a1126fddbb704281b -1 

而想要查看这条提交记录到底修改了什么具体内容,可以在命令中加入-p参数,比如

git log 2e7c0547af28ccle9f303a4a1126fddbb704281b -1 -p  其中减号代表删除的部分,加号代表添加的部分。

8.分支的用法

分支是版本控制工具中比较高级且比较重要的一个概念,他主要的作用是在现有代码的基础上开辟一个分叉口,是的代码可以在主干线和分干线上同行进行开发,且相互之间不会影响。

分支的英文名是branch,可以使用 git branch -a 这个命令查看当前有哪些分支(master分支就是主干线)。使用git branch name1.0 创建一个分支。使用checkout命令进行切换,使当前代码切换到name1.0上(git checkout name1.0)。

当我们在name1.0上面修改代码修改完成之后,再次切换到主干线(git checkout master),再输入 git merge name1.0 即可把在name1.0分支上修改并提交的内容合并到master分支上了。有时可能会出现代码冲突的情况,这时就需要你自己仔细解决这些冲突了。

最后,当我们不再需要name1.0这个分支的时候,可以将其删除。输入 git branch -D name1.0 即可。

9.与远程版本库协作

如果你一个人进行开发, 那么使用Git并不会有多大的优势,但是你若是团队合作开发,那么才能够将Git强大的功能发挥出来。

比如说现在有一个远程版本库的Git地址 https://github.com/Chensx1020/Sight.git,就可以使用如下的命令将代码下载到本地:

git clone https://github.com/Chensx1020/Sight.git

之后你在此代码基础上修改提交,最后借助push命令把本地修改的内容同步到远程版本库上(git push origin master),其中origin就是远程版本库的Git地址,master指同步到哪一个分支上。

如何又将远程版本库的修改信息同步到本地呢?使用fetch命令即可,输入

git fetch origin master 基本同push命令。

不过同步下来的代码并不会合并到任何分支上面去,而是会存放在一个origin/master分支上,使用git diff origin/master 查看到底修改了哪些内容吧。之后可以使用merge命令将origin/master分支上的内容修改合并到主分支上 git merge origin/master 

而pull命令则是将fetch和merge这两个命令放在一起执行。他可以从远程版本库上获取最新的代码并且合并到本地,用法如下:

git pull origin/master

10.将代码托管到GitHub上

GitHub是全球最大的代码托管网站,主要借助Git来进行版本控制的。任何开源软件都可以免费地将代码提交到GitHub上,以零成本的代价进行代码托管。GitHub的网站是:

https://github.com,快去注册一个账号吧。

注册之后我们可以点击右下角New repository按钮来创建一个版本库,输入里面的信息,接着点击Create repository 按钮,这个版本库就完成了。

现在我们需要将远程版本库克隆到本地,我们可以在该版本库主页的右下角找到,如图

复制里面的网址,转到第九步。

OK!不要太嫌弃。

Git时间(第一次写,这个怎么玩啊)的更多相关文章

  1. 第一次写博客,关于前端开发deMVC在js中的应用

    对前端MVC MVC分别是model.view.controller的缩写,模型.视图.控制器.这些更加偏向于后台,在以前MVC是只属于后台的.当然随着技术的进步,前端的大牛们将后台的一些东西应用于前 ...

  2. 第一次写博客Poj1044

    Date bugs Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3005   Accepted: 889 Descript ...

  3. 第一次写python爬虫

    花了4天终于把写完了把国内的几个漏洞平台爬完了,第一次写py,之前一直都在说学习,然后这周任务是把国内的漏洞信息爬取一下.花了1天学PY,剩下的1天一个.期间学习到了很多.总结如下: ======== ...

  4. Java第一次写的流布局图形界面,留个纪念

    package jisuanqi; import java.awt.*; public class MyFrame extends Frame{ //继承Frame类 public MyFrame() ...

  5. HDU 2064 菜鸡第一次写博客

    果然集训就是学长学姐天天传授水铜的动态规划和搜索,今天讲DP由于困意加上面瘫学长"听不懂就是你不行"的呵呵传授,全程梦游.最后面对连入门都算不上的几道动态规划,我的内心一片宁静,甚 ...

  6. Qt侠:像写诗一样写代码,玩游戏一样的开心心情,还能领工资!

    [软]上海-Qt侠 2017/7/12 16:11:20我完全是兴趣主导,老板不给我钱,我也要写好代码!白天干,晚上干,周一周五干,周末继续干!编程已经深入我的基因,深入我的骨髓,深入我的灵魂!当我解 ...

  7. Git时间 —— 初始版本控制工具

    <第一行代码>读书手札 可能你早就听闻git,奈何看不懂命令吓退了. 今天逆流而上. (1.)安装Git 登录官网,下载最新版,一路下一步.就完成安装了. (2.)创建本地代码仓库 首先配 ...

  8. 第一次写的MySQLHelper

    一. 第一次写MysqlHelper,用来管理城市的数据库 二.MySQLHelper源代码 using MySql.Data.MySqlClient; using System; using Sys ...

  9. 今天我自己第一次写了一个Windows批处理bat脚本,一起学习一下吧。

    今天我自己第一次写了一个Windows批处理bat脚本,备注一下 事情原由:自己使用Java开发了一个加解密的工具.但是当把工具给别人使用的时候,别人还需要把代码编译打包, 然后还需要看一下代码里面的 ...

  10. git提交时写message的规范

    message规范 angular示例 commit message(提交说明) git commit -m "写一行提交说明" # 跳出文本编辑器,写多行 git commit ...

随机推荐

  1. socket读写返回值的处理

    在调用socket读写函数read(),write()时,都会有返回值.如果没有正确处理返回值,就可能引入一些问题 总结了以下几点 1当read()或者write()函数返回值大于0时,表示实际从缓冲 ...

  2. Enterprise Solution 3.1 企业应用开发框架 .NET ERP/CRM/MIS 开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    行业:基于数据库的制造行业管理软件,包含ERP.MRP.CRM.MIS.MES等企业管理软件 数据库平台:SQL Server 2005或以上 系统架构:C/S 开发技术 序号 领域 技术 1 数据库 ...

  3. Entity Framework 延伸系列目录

    1.采用MiniProfiler监控EF与.NET MVC项目 2.采用EntityFramework.Extended 对EF进行扩展 3.EntityFramework执行存储过程中遇到的那些坑 ...

  4. .Net语言 APP开发平台——Smobiler学习日志:如何快速在手机上实现ContextMenu

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 样式一 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的&qu ...

  5. iOS - 模态Model视图跳转和Push视图跳转的混合需求实现原理

    在研发中总会遇到一些莫名的需求,本着存在即合理的态度跟大家分享一下"模态Model视图跳转和Push视图跳转的需求实现",本文仅仅传授研发技术不传授产品以及UE的思想,请大家合理对 ...

  6. Xamarin. Android实现下拉刷新功能

    PS:发现文章被其他网站或者博客抓取后发表为原创了,给图片加了个水印 下拉刷新功能在安卓和iOS中非常常见,一般实现这样的功能都是直接使用第三方的库,网上能找到很多这样的开源库.然而在Xamarin. ...

  7. Asp.Net跨平台:Ubuntu14.0+Mono+Jexus+Asp.Net

    Asp.Net跨平台的文章园子里有很多,这里给自己搭建的情况做一下总结,方便以后查看. 参考网站:   http://www.linuxdot.net/(Linux DotNET大本营 )  http ...

  8. C#执行异步操作的几种方式比较和总结

    C#执行异步操作的几种方式比较和总结 0x00 引言 之前写程序的时候在遇到一些比较花时间的操作例如HTTP请求时,总是会new一个Thread处理.对XxxxxAsync()之类的方法也没去了解过, ...

  9. iOS开发系列--地图与定位

    概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个 ...

  10. [WinAPI] 获取窗口句柄的几种方法

    1.使用FindWindow函数获取窗口句柄 示例:使用FindWindow函数获取窗口句柄,然后获得窗口大小,并且移动窗口到指定位置. 我们想获得酷我音乐盒的窗口句柄并移动它,该怎么办呢? 首先打开 ...