初探win下Git的使用

背景知识:

这里写图片描述
1.什么是Git?
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。

2.Git与Github有什么区别?
git是一种版本控制系统。跟svn、cvs是同级的概念。
github是一个网站,给用户提供git服务。这样你就不用自己部署git系统,直接用注册个账号,用他们提供的git服务就可以。

笔记摘要:

本文主要记录win下git如何与github同步工作,使用git实现项目到本地的克隆及以本地项目到github的推送和更新。


一 、申请一个githbub账号(略);

二 、下载git软件,从http://msysgit.github.io/下载并安装;

三 、在桌面,右击,从菜单中选择Git Bash Here,在Git Bash中生成SSH Key;

  • 配置本地用户名和邮箱
$ git config --global user.name "Your Name"  
$ git config --global user.email "youemail@example.com"
  • 创建SSH Key

    在用户的主目录下如:C:\Users\Rona\,查看是否存在.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,自己创建一个新的SSH Key,输入如下命令:

$ ssh-keygen -t rsa -C "youremail@example.com"

  注:此时会会让你输入你要存放. ssh /id_rsa文件的路径,回车即可,它就会生成到默认的用户主目录下,然后提示输入新密码(passphrase),可以设置,也可直接为空,确认回车。生成的ssh key保存在id_rsa.pub文件中

四 、在GitHub网页中,添加SSH Key;

这里写图片描述

注:为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

五 、在Git Bash中配置本地库;

  • 创建本地库;
$ cd /e/
$ mkdir git
$ cd git
$ pwd
/e/git
  • 通过 git init 命令把这个目录变成Git可以管理的仓库:
 $ git init

注:Git就把仓库到这里就建好了,你现在有了一个空的仓库(empty Git repository),输入ls -a,你可以发现当前目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,千万不能手动修改这个目录里面的文件,否则Git仓库会被损坏。

  • 在github上新建或fork一个repository,并用git将repository的ssh克隆到本地

这里写图片描述

$ git clone git@github.com:Rona111/odoo_translation.git

注:在github上选择repo的URL,最好选择ssh。因为github上传你的提交需要使用ssh进行无密码验证身份。

六 、更新本地库,库(repo);

  • 添加主库master repo. 到你的库里,执行如下命令
$ cd odoo_translation/
$ ls
$ git remote -v                                   #此时本地repo只有两条oragin的repo
$ git remote add master https://github.com/odoo-cn/odoo_translation.git
$ git remote -v                                   #此时本地repo多出了两条master的repo
  • 同步主库,执行如下命令
git pull master master                            #后一个master是分支的名字

注:此时,你的本地库与odoo-cn/odoo_translation主库是同步的。你可以打开本地的一个文件查看,已同步了github上的最新文件。

七 、在本地使用Git创建分支并推送本地修改到github;

  • 在本地新建一个分支
$ git checkout master -b Rona_proj                #新建分支   
$ git branch -a                                   #查看分支
  • 创建本修改(只是演示案例)
    在刚才的目录下新建一个test文件夹和和一个11.txt文件
$ mkdir test
$ cd test
$ touch 11.txt
  • 提交本修改到github
    我们要将本地的repo 同步到github repo,执行以下命令
$ git push --all origin 

此时,你就完成了本地修改的推送了,同步之后,你可以去你的github,可以看到你提交pull request.在页面上填写提交信息后,点击compare & pull request,本地的修改就提交到刚刚的Rona_proj分支了,如果你要合并到master分支,那你就继续填写提交信息,然后提交create pull request,这样,你分支的内容就要会合并到master repo了。


附:常用的git命令

$ git checkout XX                                   #切换到XX分支
$ git branch                                        #查看分支
$ git merge dev                                     #将次分支合并到主分支上面:
$ git log --graph                                   #命令可以看到分支合并图。
$ git branch -d dev                                 #删除分支
$ git status                                        #显示修改的文件
$ git diff                                          #查看修改的部分

本文参考网址:
https://github.com/odoo-cn/odoo_translation https://github.com/Rona111/odoo/blob/master/doc/git.rst

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值