文档章节

【转】msysgit简单使用教程

御风林海
 御风林海
发布于 2013/05/22 08:40
字数 1451
阅读 2996
收藏 13
点赞 3
评论 0

这篇文章是从网上找到的,关于msysgit的使用说明,其实和git的使用是一样的,只是多了个msys而已,在这里还是总结一下,留个脚印。方便以后自己查询和供大家参考。(先说明:文章里有些东西在osc上面可能是不用的,请大家根据自己实际情况,选择需要的命令)


原文是以注册github为例子的,由于我使用的是git @osc 的,所以,不用多说,注册oschina账号,开通git @osc ,创建项目后就可以了。全中文过程,不用再理会github了。。


客户端msysgit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。


装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。


3.配置Git

首先在本地创建ssh key;

$ssh-keygen -t rsa -C"your_email@youremail.com"
后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:

$ssh-T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。


$ git config --global user.name"your name"
$ git config --global user.email"your_email@youremail.com"
进入要上传的仓库,右键git bash,添加远程地址:
$ git remote add origin git@github.com:yourName/yourRepo.git

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传
接下来在本地仓库里添加一些文件,比如README,

$ git add README
$ git commit -m"first commit"
上传到github:

$ git push origin master
git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。


修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。


5.gitignore文件


.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:


bin
*.suo
obj
bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。


6.tag


我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag。


6.1查看tag

列出所有tag:

git tag
这样列出的tag是按字母排序的,和创建时间没关系。如果只是想查看某些tag的话,可以加限定:

git tag -l v1.*
这样就只会列出1.几的版本。

6.2创建tag

创建轻量级tag:


git tag v1.0
这样创建的tag没有附带其他信息,与之相应的是带信息的tag:


git tag -a v1.0 -m'first version'
-m后面带的就是注释信息,这样在日后查看的时候会很有用,这种是普通tag,还有一种有签名的tag:


git tag -s v1.0 -m'first version'
前提是你有GPG私钥,把上面的a换成s就行了。除了可以为当前的进度添加tag,我们还可以为以前的commit添加tag:

#首先查看以前的commit
git log --oneline
#假如有这样一个commit:8a5cbc2 updated readme
#这样为他添加tag
git tag -a v1.1 8a5cbc2
6.3删除tag

很简单,知道tag名称后:
git tag -d v1.0
6.4验证tag

如果你有GPG私钥的话就可以验证tag:

git tag -vv1.0
6.5共享tag

我们在执行git push的时候,tag是不会上传到服务器的,比如现在的github,创建tag后git push,在github网页上是看不到tag的,为了共享这些tag,你必须这样:

git push origin --tags

最后:放个原文的连接,以免被人说侵权了. http://wuyuans.com/2012/05/github-simple-tutorial/



© 著作权归作者所有

共有 人打赏支持
御风林海

御风林海

粉丝 84
博文 77
码字总数 45906
作品 0
广州
技术主管
Intellij Idea 使用oschina Git管理项目

1.安装Git 下载地址:https://code.google.com/p/msysgit/downloads/list 我下载使用的是 https://code.google.com/p/msysgit/downloads/detail?name=PortableGit-1.9.0-preview20140217.7z......

Cennac
2014/03/31
0
4
Git学习系列之Git和TortoiseGit的区别

  不多说,直接上干货! Git和TortoiseGit的区别:     TortoiseGit的安装和使用依赖Git。        Git有且只有一个,就是linux最初创建的那个叫做Git的程序。现在的维护者的名字...

橘子红了呐
2017/11/30
0
0
在Windows环境中使用版本管理工具Git(2)

二、在Windows上的使用Git 不得不说,Git是为Linux而生的。(废话,Git的最初创建人就是Linux的创始人啊)。在Linux环境下,要使用Git,与任何Linux中的命令行工具没有什么区别。甚至在击键数...

云栖希望。
2017/12/04
0
0
TortoiseGit 和 msysgit的关系

msysgit是一个基于windows上虚拟lunix环境mgw的git,那么TortoiseGit和msysgit又有什么关系呢?我在电脑上只安装了msysgit就可以直接进行代码管理了,我不懂为什么网上的教程还要安装Tortois...

CodeBall
2015/10/20
1K
1
【原创】phpdesigner 使用OSC@GIT

欢迎大家为我的应用投上您宝贵的一票! http://www.oschina.net/mopaas-app-contest 看着使用osc@git的朋友们经常的中奖,并且感觉很高大上,于是一直苦于没有phpdesigner使用git的教程。 经...

滔哥
2013/12/30
0
29
【Git 第3课】 安装Git

要用Git,首先肯定要安装它。简要说一下Win,Mac和Linux三种平台的安装方法。 Windows Git的官网(http://git-scm.com)提供了Windows下Git客户端的安装包。也可以去msysGit项目的页面上下载:...

Harry_sir
2015/12/26
18
0
在Windows环境中使用版本管理工具Git

Git是一个分布式的版本控制系统,最初由LinusTorvalds编写,作者把他描述为一个“傻瓜式的版本管理系统”,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在R...

hans汉斯
2010/01/13
0
0
【Github教程】史上最全github使用方法:github入门到精通

原文 http://www.eoeandroid.com/thread-274556-1-1.html git pull 命令 【初识Github】 首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。 Git 是一个分布式的版本控制系统,最初...

老先生二号
2017/06/25
0
0
Git 点点滴滴

755 vs 644 在linux下载了Qt的软件仓库,拷贝了一份到windows下。在 msysgit 下,发现所有的文件都被修改了。 用 git diff 查看,发现是: $ git diff util/webkit/mkdist-webkitdiff --git...

晨曦之光
2012/05/08
777
0
如何用msysgit访问oschina?

@红薯 大哥,如何用msysgit 在oschina上checkout和提交自己的项目,能给一个完整一点的教程吗?

御风林海
2013/05/21
515
2

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring-@RequestBody

@RequestMapping("/login")    public void login(@RequestBody String userName,@RequestBody String pwd){      System.out.println(userName+" :"+pwd);    }    ......

说回答
6分钟前
0
0
Redis安装

大家可以通过该链接获取安装详情(这是一个Word文档,支持下载): http://note.youdao.com/noteshare?id=7a327ed6c58fb2037ba537e58ecf7510&sub=480DB8EF349747C3983B73AE94D45BB1 其他参考...

一梦心草
6分钟前
0
0
MySQL按天,按周,按月,按时间段统计【转载】

https://blog.csdn.net/qq_28056641/article/details/78306870 select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(creat......

李道福
8分钟前
0
0
浅谈parallelStream

parallelStream是什么,它是一个集合的并发处理流.其作用是把一个集合中的数据分片,进行一个多线程的处理,增快运行速度. 比如说这样一段代码 private Set<SysRole> sysRoles;private Set<St...

算法之名
10分钟前
3
0
器者,道之所载

形而上者谓之道,形而下者谓之器,化而裁之谓之变;推而行之谓之通,举而措之天下之民,谓之事业。—— 《道德经》

了凡川
11分钟前
0
0
C#命名规范中文版/C#编码规范中文版

最新文档地址https://github.com/hiramtan/CSharpNamingGuidelines_Chinese C#命名规范中文版/C#编码规范中文版 示例 /*****************************************************************......

海贝Hibey
13分钟前
0
0
刚从eclipse转到Intellij IDEA,分享一些配置经验

刚从eclipse转到Intellij IDEA,分享一些配置经验,IntelliJ IDEA作为最好的Java开发工具,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等...

舒文joven
14分钟前
1
0
lombok 引入后,测试类始终找不到get,set方法。

开发环境为idea,jdk1.7,maven3.5. 网上直接搜出来的方法有: 1、在setting里安装lombok的plugins; 2、如下图,勾选enable annocation processing选项 3、升级maven plugins插件 我尝试了以...

Kidult
20分钟前
0
0
Duang,HUAWEI DevEco IDE全面升级啦

想感受全新UI带来的视觉及交互体验、 HiKey970开发板调测、 HiAI API推荐和收藏、 深度AI模型分析等新功能, 体验高清晰度和流畅度的远程AI真机调测吗? 全新的UI设计 采用最优秀的视觉及交互...

华为终端开放实验室
28分钟前
1
0
阻止事件冒泡,阻止默认事件

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event....

闫亚亚
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部