git在oschina中的使用

、在git官网上去下载git。http://git-scm.com/download/

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

2、当我们向服务器(比如Git@OSC,Github)提交代码时得有个用户名邮箱什么的,可以用如下命令进行设值

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

这些配置都会存放在用户所在目录下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,这个要看实际的路径

下边开始git的操作

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

1
#git init

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

2.输入

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

3.使用

1
#git commit -m "GitHelloWorld first commit"

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

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

首先在Git Bash中输入:

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

然后打开hhttps://gitee.com/hanhanxuanxuan2006/openwrt_sdk_test/deploy_keys/new页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可

我们添加一个新项目,比如GitHelloWolrd(这个名称后面会用到,这个步骤是必须的)

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

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

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

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

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

然后执行

1
git push origin master

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

那我们应该输入

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

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

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

或者执行

1
git remote rmorigin

然后再执行

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

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

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

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

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

1
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' 


我在实际的使用中,首先在gitoschina中创建了一个android的项目,然后会自动生成.gitignore 和LICENSE 

在执行git push origin master 的时候提示

[rejected]        master -> master (non-fast-forward)

我觉得这个问题主要原因是在gitoschina中已经有了文件,所以需要先合并之后再提交。

所以执行 git pull origin master会down下来文件,然后提示哪儿有冲突,修改完冲突然后

git add 之后git commit 提交自己仓库后,git push origin master 提交,成功。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页