文档章节

Git初体验

whaon
 whaon
发布于 2013/05/31 15:00
字数 1181
阅读 35740
收藏 127
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

粉丝 45
博文 40
码字总数 36716
作品 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
MGL_TECH
MGL_TECH
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
GitLab初体验

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

bisal
2016/09/12
0
0
【原创】我的 Git 使用初体验

很久之前在 http://git.oschina.net/ 上创建了一个私有项目 modb ,目的主要是用来学习如何使用 GIT 来开源自己写的东东,中间由于种种原因停顿了很长时间,但是今天,我下定决心一定要将这个...

摩云飞
2014/04/29
0
3
小程序 大假期,技术猿国庆假期的正确打开方式…

明天(10月1日)就是国庆黄金7天假了。作为技术猿,除了美美的睡一觉好像也没啥别的事了。与其窝在家里玩手机刷朋友圈,不如做个小程序玩玩。 微信小程序开发正当时,没有内测资格不要紧。这...

凝小紫
2016/09/30
5.6K
11
给CocoaPods库增加Bundle资源

最近用了一个一个开源库320Categories, 看到其中的.podspec文件知道可以用pod install安装,但是今天用的时候发现一个bug,就是在打开的.xcworkspace文件中找不到其中的bundle文件,这不是很...

yoyoso
2015/03/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
25分钟前
0
0
=====BJmeter性能测试小接=====

一、性能测试分类 1、负载测试: 通过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于某个值,如cpu使用率小于等于80% 2、压力测试: 通过逐步加压的方法,使得系统的某些资源...

覃光林
28分钟前
1
0
企业级开源四层负载均衡解决方案--LVS

网盘链接 企业级开源四层负载均衡解决方案--LVS 本课程将在Linux环境下,学习配置使用LVS,对Web集群和MySQL集群进行负载均衡,并结合利用Keepalived实现负载均衡器的高可用,实现对后端Rea...

qq__2304636824
34分钟前
2
0
Windows上安装Spacemacs

emacs安装 下载地址emacs 安装比较简单,解压后执行\bin\addpm.exe即可 emacs配置 emacs的默认配置文件路径和.emacs.d文件夹都是在Windows主目录下的 C:\Users\Administrator\AppData\Roami...

yxmsw2007
49分钟前
0
0
OSChina 周一乱弹 —— 鱼生不值得

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念:分享新裤子的单曲《没有理想的人不伤心 (Remix版)》: 《没有理想的人不伤心 (Remix版)》- 新裤子 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
215
9

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部