我是在码云上申请了 github账号。用法和官方的一样,只不过码云可以设置私有项目。
----------------------------------------------------------------------------------------------------------
github 远程配置并与本地仓库进行连接
----------------------------------------------------------------------------------------------------------
<1> 码云开通账号,并创建项目
利用readme文件创建并初始化项目。
建立完项目后,每个项目都有一个 ssh 远程连接的仓库,类似以下这样的地址。
[email protected]:frankiekiller/meihui_dev.git
我们本地的仓库就是通过这个地址与远程的进行连接取得联系。
<2> 在本地生成一个SSH公钥,这样就不用每次输入密码就可以访问 github
ssh-keygen -t rsa -C "[email protected]"
# Generating public/private rsa key pair... # 三次回车即可生成 ssh key
<3> 查看公钥并填入码云
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc...
<4> 测试连接
ssh -T git@git.oschina.net
--------------------------------------------------------------------------------------------------------
本地仓库与远程仓库同步
-------------------------------------------------------------------------------------------------------
<1> 设置本机在git中的身份,一个终端只需要设置一次
$ git config --global user.name "defnngj"//给自己起个用户名$ git config --global user.email "[email protected]"//填写自己的邮 <2>
假如你现在新创建了一个项目,想把它提交到github上面?
假设你创建好了一个项目,并切换到项目的根目录下面:
$ git status //查看当前项目下所有文的状态,如果第一次,你会发现都红颜色的,因为它还没有交给git/github管理。
$ git add . //(.)点表示当前目录下的所有内容,交给git管理,也就是提交到了git的本地仓库。
Ps:git的强大之处就是有一个本地仓库的概念,在没有网络的情况下可以先将更新的内容提交到本地仓库。
$ git commit –m”new natter ” //对你更新或修改了哪些内容做一个描述。
$ git remote add origin [email protected]:defnngj/hibernate-demo.git //与远程库取得连接
//如果你是第一次提交项目,这一句非常重要,这是你本地的当前的项目与远程的哪个仓库建立连接。
Ps: origin可以改为别人的名字,但是在你下一次push(提交)时,也要用你修改之后的名字。
$ git remote -v //查看你当前项目远程连接的是哪个仓库地址。
$ git push -u origin master //将本地的项目提交到远程仓库中。(解决冲突的比较直接的方法,加上-f)
-------------------------------------------------------------------------------------------------------------------------------
git 获取最新版本合并到本地
----------------------------------------------------------------------------------------------------------------------------
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge
Git fetch origin master
git log -p master..origin/master
git merge origin/master
以上命令的含义:
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp
git diff tmp
git merge tmp
从远程获取最新的版本到本地的test分支上
之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并