文档章节

【转】msysgit简单使用教程

御风林海
 御风林海
发布于 2013/05/22 08:40
字数 1451
阅读 3011
收藏 13

这篇文章是从网上找到的,关于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/



© 著作权归作者所有

共有 人打赏支持
御风林海

御风林海

粉丝 87
博文 79
码字总数 50322
作品 0
广州
技术主管
私信 提问
Git学习系列之Git和TortoiseGit的区别

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

橘子红了呐
2017/11/30
0
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 点点滴滴

755 vs 644 在linux下载了Qt的软件仓库,拷贝了一份到windows下。在 msysgit 下,发现所有的文件都被修改了。 用 git diff 查看,发现是: 原来是msysgit在windows下需要为文件"仿造"访问权限...

晨曦之光
2012/05/08
865
0
【原创】phpdesigner 使用OSC@GIT

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

滔哥
2013/12/30
0
29
在Windows环境中使用版本管理工具Git(2)

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

云栖希望。
2017/12/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
5
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0
大数据教程(11.8)Hive1.2.2简介&初体验

上一篇文章分析了Hive1.2.2的安装,本节博主将分享Hive的体验&Hive服务端和客户端的使用方法。 一、Hive与hadoop直接的关系 Hive利用HDFS存储数据,利用MapReduce查询数据。 二、Hive与传统数...

em_aaron
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部