一、要安装的软件
Notepad++
Git
Baiduyun
二、Git初始化和配置
1. 新系统使用Git
开始接触是因为去年Gov屏蔽该网站,在国内引起强烈的议论,但是由于刚刚接触java,时间也就没怎么花在上面,近来看到一些专业招聘网站上看到招聘要求上“博客,github贡献者”优先,也注意到开源中国也开始代码托管,趁现在任务量不是很大,花了点时间来捣鼓一下,熟悉一下应用,希望以后能用得上。
1.1使用的是git.Oschina.com平台
在windos环境下使用git,首先要下载msysgit,安装没什么要求(可能右键没有出现Git Bash按钮,详细见下面可能出现的问题)。完了之后会出现Git GUI与Git Bash,顾名思义一个是界面模式,一个是命令行模式。
1.2初始化化
username、email初始化
Linux代码
1. git config --global user.name "Your Name"
2. git config --global user.email "your@email.com"//配置
3. ssh-keygen -t rsa -C "youremail@xxx.com"//生成公钥
配置文件会存放在用户所在目录下的.gitconfig文件中,比如(C:\Users\Administrator\.gitconfig,这个要看实际的路径。
公钥也会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件。
用记事本打开,复制其中的全部内容,然后打开http://git.oschina.net/keys页面,在该页面中添加公钥,标题可以随便填,公钥就是刚才复制过的内容,然后保存即可,我们在http://git.oschina.net/projects/new中添加一个新项目。
1.3克隆代码到本地
现有www目录,位置在:c:/www,还没新建项目目录,假设要建立的项目目录为stbbs,操作方法如下:
打开git gui,第一个界面,点击 clone,在出现的界面中,“源”填写git项目地址,”目标“填写:c:/www/stbbs,下一步,ok。
三、Git到osc的步骤
1. 强烈建议:远程项目和本地项目的名称一致。比如远程叫bbs,你打算下载到本地的目录也叫bbs,然后使用,git clone https://git.oschina.net/zhqlzzf/stbbs.git,这样,远程库就克隆到本地了。这样的化,本地库就直接创建好了。第二部就不需要,第三步也不需要了。因为在这个本地库里的GIT文件夹里的config文件里,就记录了remote url的信息。
2. 对于一个新的本地项目,要创建本地库,这个可以使用git gui的引导来创建,创建好后,在git gui菜单上直接打开git bash,自动cd到当前项目目录。
3. 在操作之前,先看看当前连接的是哪个库,使用git config –l。如果remote.origin.url不对,使用 git remote set-url <url>来设置远程地址。如:git remote set-url origin https://git.oschina.net/zhqlzzf/mystb.git,这样的化,就创建好了。使用git remote命令查看url信息。
四、怎么知道git gui连接的是哪个remoteurl呢
你在启动git gui时,选择的是哪个repository,那么这个repository后台,就会对应一个remote url。
五、给项目加版本号。
参考:http://blog.csdn.net/wangjia55/article/details/8793577。git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。
# 创建附注标签
$ git tag -a v0.1.2 -m “0.1.2版本”Git tag
标签发布
通常的git push不会将标签对象提交到git服务器,我们需要进行显式的操作:
$ git push origin v0.1.2 # 将v0.1.2标签提交到git服务器
$ git push origin –tags # 将本地所有标签一次性提交到git服务器
参考:http://my.oschina.net/openswc/blog/142321。
正常的情况我认为应该是现在服务器上创建好一个库,如bbs,本地为空,然后,pull远程的文件到本地,也可以使用Clone 项目的方式先把远程的同步到本地,这时双方就一致了,不会出现冲突了。然后,再把项目文件考到克隆好的本地文件夹里,最后使用git gui来进行add commit push的操作
六、更新远程代码到本地仓库
参考1:http://blog.csdn.net/liang0000zai/article/details/50724632
参考2:http://www.360doc.com/content/13/0814/10/9171956_307028720.shtml
如果本地库和远程有冲突,在第四步会遇到错误提示:Git冲突:commit your changes or stash them before you canmerge.
怎么解决呢,如果打算直接覆盖本地的库,就使用下面的方法,参考http://blog.csdn.net/lincyang/article/details/21519333。
就是放弃本地修改,直接覆盖:
Git reset –hard
Git pull
这样,就直接覆盖远程代码到本地了。
如果在使用git pull时出现了“
”
这样的提示,需要指定当前工作分支,跟远程的仓库,分支之间的链接关系。
如: git pull origin master
七、强制git用远程仓库强制更新本地修改,本地修改不保存
在用Git进行版本管理时,经常由于本地修改过多,或者是写了一大堆代码后,发现没有用,或者用不了,这个时候就需要用远程的代码将本地的源码进行覆盖更新。
具休的做法如下:
git fetch --all
git fetch 命令是下载远程的库的内容,是不做任何的合并
git reset --hard origin/master
git reset 把HEAD指向刚刚下载的最新的版本
git diff与远程仓库比对一下,发现代码一致,更新完成。
这样就实现了强制覆盖。
八、git 命令输完后不返回
ctrl-c嘛
九、怎么快速启动git gui
打开项目文件夹,如his是项目文件夹,有.git文件夹,在空白地方点击右键,出现菜单,找到 git gui here,启动,默认进入的就是这个项目的文件夹。
十、本地新建的项目如何上传到git (码云仓库)