git安装使用 (一)

在linux上安装git,首先输入git查看系统是否已经安装git。

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

当然,你在git官网上下载一个再安装也行http://git-scm.com/


在mac上安装git有两种方式。最容易的当属使用图形化的git安装工具,下载地址在:http://code.google.com/p/git-osx-installer


在windows上安装git,直接安装msysgit,从http://msysgit.github.io/下载,然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”


安装完git后就是配置咯。现在用windows,所以在上面打开的git bash窗口命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"


然后就是关系github或者git.oschina.net的账号,由于你的本地Git仓库和GitHub仓库、oschina仓库之间的传输是通过SSH加密的,所以需要通过以下步骤进行设置:

第1步:创建SSH Key。

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

一直回车键默认确认,创建成功后,Windows在c:/users/administration/.ssh目录下,mac在/user/Lok/.ssh下。里面有两个文件id_rsa(私钥),id_rsa.pub(公钥)。(当然,关系github进行通讯后会生成known_hosts文件以保存安全常用的IP)。

第2步:打开github或者git.oschina.net,找到设置界面,add SSH Keys添加公钥。title随便写,一般以自己的电脑名字命名,公钥内容就是第1步骤里id_rsa.pub里的全部内容。粘贴上确认就可以了。


添加远程库,如果本地有库要push到远程库的话,先在github上创建一个repository,(github上免费的都是全开的 repository,git.oschinan.net上免费的能公能私)。然后把本地库跟github库关联

$ git remote add origin git@github.com:commonslok/example.git

再把本地库push到github远程库

$ git push -u origin master

-u表示git不但会把本地库的master分支内容push的远程库的master分支,还会把本地库master分支和远程库master分支关联起来,以后push或者pull就可以简化命令。


从远程库clone到本地

$ git clone git@github.com:commonslok/example.git


创建管理分支,git核心功能就是多人协作,所以分支个人觉得很重要的,首先查看有多少个分支

$ git branch

如果只有master这个默认的分支的话,可以再创建一个开发分支

$ git checkout -b dev

-b表示$ git branch dev(创建分支),$ git checkout dev(切换到dev分支)

在dev下开发完毕要合并分支到master里,

 $ git checkout master(切换过来先)

$ git merge dev(合并)

通常合并分支时,git会用fast forward模式,但这种模式下删除分支会丢掉分支信息($ git log查不到相关的分支信息)
如果要强制禁用fast forward模式,git就会在merge时生成一个新的commit,从分支历史上就可以看出分支信息。
$ git merge --no-ff -m "非fast forward模式merge" dev
下面我们实战一下--no-ff方式的git merge:

最后就是删除dev分支

$ git branch -d dev

当然可以通过命令恢复了$ git reset --hard fec145a(删除的时候会提示版本号的fec145a,或者$ git reflog都能查到版本号)


发生冲突时的手动解决就不多说了,解决后提交就成,跟svn一样。

如果是push分支的时候发生冲突呢,这里就需要了解下了。例如github repository上没有dev分支,A push dev分支到github repository。B之后想push dev分支到github repository就会发生冲突。解决冲突先把github repository上的内容pull下来B的本地库。

$ git pull

发现失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,所以要先设置dev和origin/dev的链接
$ git branch --set-upstream dev origin/dev

然后再重复push步骤

$git pull

然后B再push

$ git push origin dev


记录相关,方便自己和他人阅读



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值