1,下载:git clone https://github.com/opensns.git
2.新建仓库:
本地新建:
master分支是本地默认创建的
创建新分支:git checkout -b newBranchName
远端:直接在本地git push -u origin newBranchName,传到远端就可以自动在远端创建分支
3.上传:git remote add origin git@github.com/opensns.git(首次提交命令----其实这个是链接远端仓库命令:本地建库-add-commit-建立远程连接-push)
git push -u origin master(以后在本地仓库下提交新文件时就执行此命令)
4.几个命令解释:git push -u origin master,git merge , git branch
git push -u origin master中u的作用:
upstream不是针对远程仓库的,而是针对branch的,这一点应了那位童鞋所说的第二句话。但是upstream和有几个远程库没有必然联系。比如远程库A上有3个分支branch1、branch2、branch3。远程库B上有3个分支branchx、branchy、branchz。本地仓库有2个分支local1和local2。那么当初始状态时,local1和local2和任何一个分支都没有关联,也就是没有upstream。当通过git branch --set-upstream-to A/branch1 local1命令执行后,会给local1和branch1两个分支建立关联,也就是说local1的upstream指向的是branch1。这样的好处就是在local1分支上执行git push(git pull同理)操作时不用附加其它参数,Git就会自动将local1分支上的内容push到branch1上去。同样,local2分支也可以和远程库A和远程库B上的任何一个分支建立关联,只要给local2分支设置了upstream,就可以在local2分支上用git push(git pull同理)方便地与目标分支推拉数据。
综上所述,upstream与有几个远程库没有关系,它是分支与分支之间的流通道。
再来说说git push -u和git branch --set-upstream-to指令之间的区别。
举个例子:我要把本地分支master与远程仓库origin里的分支gaga建立关联。
(如果使用下列途径1的话,首先,你要切换到master分支上(git checkout master))
两个途径:1. git push -u origin gaga 2. git branch --set-upstream-to=origin/gaga master
这两种方式都可以达到目的。但是1方法更通用,因为你的远程库有可能并没有gaga分支,这种情况下你用2方法就不可行,连目标分支都不存在,怎么进行关联呢?所以可以总结一下:git push -u origin gaga 相当于 git push origin gaga + git branch --set-upstream-to=origin/gaga master
git merge:把一个分支或某个刚commit的修改合并到现有分支
查看分支:git branch
5.git pull:是你更新了代码到仓库中,其他人可以通过git pull命令拉取你的变动。
6.git loggit pull origin master From https://github.com/lxgithub14/aaa.git
git show某次更改版本号
git diff
git checkout 版本号
解决合并冲突
.gitignore