文档章节

Git初体验

whaon
 whaon
发布于 2013/05/31 15:00
字数 1181
阅读 8.2W
收藏 128
git

鉴于Git@OSC的那个888元的红薯太卡哇伊了,这几天就花了些时间看了下传说中的Git

关于Git的概念以及种种好处,这里就不在赘述了,下面就讲下简单的使用

在windos环境下使用git,首先要下载msysgit,地址在http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git,下载好后,一路next完成安装

安装好后,会有2个可执行文件,Git GUI和Git Bash,正如名称一样,一个是GUI工具,一个是命令行工具

Git Bash,它的命令和linux很像,我们可以date,time,pwd,cd,ls,exit等等,具体的我们可以输入help来查看

再操作之前我们先来多git进行一些配置以便更方便的使用

1. 对终端显示的配置,给文字添加颜色,更易于阅读

git config --global color.diff auto  
git config --global color.status auto  
git config --global color.branch auto
2.当我们向服务器(比如Git@OSC,Github)提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值

git config --global user.name "Your Name"  
git config --global user.email "your@email.com"

其实这些配置都会存放在用户所在目录下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,这个要看实际的路径,有可能在C:\Windows\System32\config\systemprofile目录下),用Editplus打开可以查看文件内容

进行完配置后,现在比如我们现在有个eclipse工程GitHelloWord,我们如何来让git进行管控呢?

1.我们现切换到这个目录下(是和.classpath和.project同级的那个目录),右击然后选择Git Bash,这是就会弹出Git命令行,并且自动切换到当前所在目录,我们运行

git init

命令,可以看到会在该目录下生成一个.git的隐藏目录,这说明该目录以及归git进行管理了

2.输入

git add .
把该目录下的所有文件全部提交到缓冲区

3.使用

git commit -m "GitHelloWorld first commit"

命令,将代码提交到HEAD,注意此时还没有提交到服务器

4.我们该如何提交到服务器呢?对于熟悉SVN的用户,我们需要一个SVN仓库的地址还有所谓的用户名,密码,但是对于Git可能稍有不同

首先在Git Bash中输入:

ssh-keygen -t rsa -C "youremail@xxx.com"
然后一路回车,这个会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件,用记事本打开,复制其中的全部内容。

然后打开http://git.oschina.net/keys页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可

我们在http://git.oschina.net/projects/new中添加一个新项目,比如GitHelloWolrd(这个名称后面会用到,这个步骤是必须的)

我们先来测试下是否联通:输入命令

ssh -T git@git.oschina.net
然后会通知你输入用户名/密码,该密码就是你的osc账户密码,然后会提示你输入yes/no,输入yes后回车,显示出

Welcome to Git@OSC, whaon!

说明连接成功(密码也可以在http://git.oschina.net/profile/account进行设值)

下面就可以提交项目到git仓库中了,我们先输入一个不存在的

git remote add origin http://git.oschina.net/whaon/none.git

然后执行

git push origin master

,会出现错误,因为在osc@git中根本不存在none这个项目

那我们应该输入

git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git

但是会发现不能执行了,这时我们可以打开.git下的config文件,把如下内容删掉

[remote "origin"]
	url = http://git.oschina.net/whaon/none.git
	fetch = +refs/heads/*:refs/remotes/origin/*

或者执行

git remote rm origin

然后再执行

git remote add origin http://git.oschina.net/whaon/GitHelloWolrd.git
git push origin master
就可以了,这时项目已经被提交到osc@git上了

我们可以在自己的git中看到已经提交的项目了

以后的操作就是在本地修改->add->commit->push

当B程序员想参与到该项目中,该怎么办呢?

首先B程序员需要克隆远程版本库,使用如下命令

git clone http://git.oschina.net/csen66/weixin-client-for-java.git
把远程项目(该项目是我随便搜的)clone到本地,注意你只有只读权限,如果你想参与到该项目中,需要改项目的拥有者把你添加进项目组,然后就可以协作开发了

附录:

ls不能显示中文目录问题

    解决办法:在git/etc/git-completion.bash中最后增加一行: 
    alias ls='ls --show-control-chars --color=auto' 

关于Git和eclipse结合的EGit,更新地址为http://download.eclipse.org/egit/updates

© 著作权归作者所有

whaon

whaon

粉丝 49
博文 44
码字总数 38920
作品 0
厦门
程序员
私信 提问
加载中

评论(41)

萌萌哒的小丁丁
萌萌哒的小丁丁
@小新de蜡笔 然道不是忘记修改SSH公钥了(https://gitee.com/profile/sshkeys)?
n
nini1123
windows下的,密码对了还是一直提示Permission denied, please try again.,求怎么解决
n
nini1123

引用来自“小新de蜡笔”的评论

引用来自“whaon”的评论

引用来自“小新de蜡笔”的评论

ssh -T git@git.oschina.net
这一步总是提示输入密码,可是输入了在http://git.oschina.net/profile/account设置的密码,依然提示Permission denied, please try again.为什么呢?弄了一晚上了,就是提交不上去。。

是不是密码输错了,可以试下oschina.net的密码
还有就是是不是公钥错了

可以了,因为之前用 remote 命令配置的是 SSH 的地址,删掉之后,重新配置成了 http 地址就好了。仔细读了一下http://git.oschina.net/profile/account这个页面上的一句话:“该密码还用于使用 http 方式 push 代码时认证用户权限。”所以领悟到,这个密码不是用于SSH的,只适用于http方式。那么SSH的应该怎样使用呢?
我也出现同样的情况,你的用怎么用http解决
SUN.
SUN.
$ git push origin master
To https://git.oschina.net/SUNCOM/Test.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://git.oschina.net/SUNCOM/Test.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

请教下,这是什么情况
_森屿海巷_
_森屿海巷_
谢谢楼主的分享~
L
Launch
谢谢版主 成功解决问题13
扫地农
扫地农
ssh-keygen -t rsa -C "youremail@xxx.com" 我了个去,我以为是SSH协议呢 写着写着 http协议了都
ArrayListt
ArrayListt
按照楼主的文章,终于提交上一个正常的git项目了。。。
champon
champon
你这里 只写了 windows?那我还不如去看廖雪峰的介绍
大岙浦下嗨
大岙浦下嗨
我想请问一下楼主我电脑上同时使用github和git@osc如何实现?
史上最简单的 GitHub 教程

温馨提示:本系列博文已经同步到 GitHub,如有需要的话,欢迎大家到「github-tutorial」进行和操作! 1 简介   GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的...

qq_35246620
2017/03/27
0
0
Xcode 11 初体验(设计工具(Design Tools)、代码管理(Source Control))

文章最后有Xcode 11体验文章完整地址和学习资料福利!记得别错过哦~ 设计工具(Design Tools) 可以随时查看各设备上的效果以及作出更改。 在开发和调试时,随时在暗黑和明亮模式之间进行切换...

iOS开发_小迷糊
2019/10/14
0
0
建议将会员整理出来的Git@OSC教程集成到帮助里

@红薯 建议将会员整理出来的教程集成到Git@OSC的帮助里边,我整理了一下链接。 http://my.oschina.net/gal/blog/141442(VS2012连接到osc@git) http://my.oschina.net/icelily/blog/141342(To...

恺哥
2013/07/01
718
3
GitLab初体验

最近由于工作需要,开始设计和实现一些新的运维工具,打算使用git替代svn来管理代码,尝试一些不同的技术。 git和svn的区别网上有很多的介绍了,况且已经不是什么太新的技术,如下是一些简要...

bisal
2016/09/12
0
0
OSC源创会之校园行第4期

源创会之开源校园行第4期~这次我们来到了潮州高校区~ 小伙伴么福利来咯、 开源是什么?git、gitlab、github 又是怎么?怎么使用?还有二师兄带来JAVA8干货!! 除了给同学们带来开源技术大...

文洁洁洁
2015/04/17
4.6K
18

没有更多内容

加载失败,请刷新页面

加载更多

刚哥谈架构 (五) 谈谈数据库架构

无论是构建什么样的应用,大都离不开数据。而在应用的架构设计中,如何设计数据库,使用什么类型的数据库,就是一个架构师必须了解的。所有的数据库的共同点都是以某种方式存储数据,以某种接...

naughty
21分钟前
42
0
明洞明

尼石露🀄️华 🀄️华尼石露 叶果城🀄️华 悟明夫妻国 🀄️国梦🀄️国 国🀄️国世界

悟明夫妻国世界
今天
117
0
OSChina 周一乱弹 —— 妹子,我家的猫发芽了,你要来我家看看吗

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《Gypsophila》- MoreanP 手机党少年们想听歌,请使劲儿戳(这里) @蓝瞳 :愁,明...

小小编辑
今天
99
1
Bochs入门

一、Bochs简介 Bochs(读音同 Box)是完全使用软件模拟PC的开源x86模拟器,与使用虚拟化技术的虚拟机相比,虽然速度慢,但非常适合开发、调试操作系统。 二、配置操作系统 Bochs根据配置文件...

悠悠子佩
今天
41
0
什么是哈希表?

我们在这篇文章将要学习最有用的数据结构之一—哈希表,哈希表的英文叫 Hash Table,也可以称为散列表或者 Hash 表。 哈希表用的是数组支持按照下标随机访问数据的特性,所以哈希表其实就是数...

武培轩
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部