在Git远程管理项目
新建repository
本地目录下,在命令行里新建一个代码仓库(repository)
里面只有一个README.md
命令如下:
touch README.md
git init
初始化repository
git add README.md
将README.md加入到缓存区
(可以用 git add --a 将所有改动提交到缓存(注意是两个杠))
git commit -m "first commit"
提交改变,并且附上提交信息"first commit"
Push
git remote add origin https://github.com/XXX(username)/YYYY(projectname).git
加上一个remote的地址,名叫origin,地址是github上的地址(Create a new repo就会有)
因为Git是分布式的,所以可以有多个remote.
git push -u origin master
将本地内容push到github上的那个地址上去。
参数-u
用了参数-u之后,以后就可以直接用不带参数的git pull从之前push到的分支来pull。
此时如果origin的master分支上有一些本地没有的提交,push会失败.
所以解决的办法是, 首先设定本地master的上游分支:
git branch --set-upstream-to=origin/master
然后pull:
git pull --rebase
最后再push:
git push
分支
新建好的代码库有且仅有一个主分支(master),它是自动建立的。
可以新建分支用于开发:
git branch develop master
新建一个叫develop的分支,基于master分支
切换到这个分支:
git checkout develop
现在可以在这个develop分支上做一些改动,并且提交。
注意:切换分支的时候可以发现,在Windows中的repository文件夹中的文件内容也会实时相应改变,变成当前分支的内容。
push方法1:
现在如果想直接Push这个develop分支上的内容到github
git push -u origin
如果是新建分支第一次push,会提示:
fatal: The current branch develop has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin develop
输入这行命令,然后输入用户名和密码,就push成功了。
以后的push就只需要输入git push origin
push方法2:
比如新建了一个叫dev的分支,而github网站上还没有,可以直接:
git push -u origin dev
这样一个新分支就创建好了。
push方法3:
提交到github的分支有多个,提交时可以用这样的格式:
git push -u origin local:remote
比如:git push -u origin master:master
表明将本地的master分支(冒号前)push到github的master分支(冒号后)。
如果左边不写为空,将会删除远程的右边分支。
创建分支的另一种方法
用命令git checkout -b develop2 develop
可以新建一个分支develop2,同时切换到这个分支
删除分支
git branch可以查看所有的分支
git branch -d develop2 将develop2分支删除
Clone
使用git clone+github地址的方法,项目默认只有master分支。git branch也只有master
要看所有的分支:git branch -a 或者是 git branch -r
这时候要新建一个分支,叫做dev,基于远程的dev分支:git checkout -b dev origin/dev
加Tag
git tag tagname develop
git tag 中的两个参数,一个是标签名称,另一个是希望打标签的点develop分支的末梢。
合并分支
git checkout master
先转到主分支
git merge --no-ff develop
然后把develop分支merge过来
参数意义:
不用参数的默认情况下,是执行快进式合并。
使用参数--no-ff,会执行正常合并,在master分支上生成一个新节点。
merge的时候如果遇到冲突,就手动解决,然后重新add,commit即可。
在Git远程管理项目的更多相关文章
- 怎么使用git来管理项目版本?
怎么使用git来管理项目版本和存放代码? 作者:rongfangliu 转载请注明出处:http://www.cnblogs.com/rongfangliu/p/howuseGit.html 工具: ...
- git添加本地的项目到git远程管理仓库
目标:将本地存在的项目添加到git远程仓库管理 步骤: 1. 需要一个git远程仓库管理地址 例如:https://github.com/xingfupeng/test.git git@github. ...
- 转:Git Submodule管理项目子模块
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...
- Git Submodule管理项目子模块
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...
- 如何删除git远程仓库项目的所有内容,重新提交所有内容
如果我们上传了一个项目到git并已经commit和push了所有内容,但是忘记搞gitignore文件, 导致一些不想加入版本控制的文件,如IDE配置文件,编译文件,部署文件等, 现在不知道怎么办了? ...
- 【版本管理】git远程管理
GitHub相关: 第1步:注册github账号,创建SSH Key. 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件, ...
- Git远程管理[五]
标签(linux): git 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 相关命令 git clone https://github.com/guohongz ...
- git远程管理
- [转] 使用Git进行小项目代码管理
http://www.uml.org.cn/pzgl/201206155.asp 之前在公司使用过SVN(无甚感觉)和ClearCase(把人恶心死的东西)两种版本控制工具,都不满意.后来想自己写点东 ...
随机推荐
- ping主机脚本
#!/bin/bash #ping net='172.16.1' uphosts=0 downhosts=0 for i in {1..254};do ping -c 1 -w 1 ${net}.${ ...
- Java结对编程之挑战出题
Java结对编程之挑战出题 需求分析 需求 对于挑战出题来说最主要的就是要产生的式子并将重复的式子去掉. 设计思路 具体的思路: 思路一: 原先我打算用集合中的元素的不重复性进行去重,这种思路的好处就 ...
- Eclipse调试C++(Cocos2dx Android )
原文链接: http://www.cnblogs.com/zouzf/p/4202537.html 先说windows下的,mac下的在最后 环境:win8.1.java 1.5.Eclipse 4. ...
- idea绿色版+谷歌浏览器绿色版——设置打开jsp文件
首先我们的工具有 1.idea绿色版 2.Chrome绿色版 3.JavaJDK 4.Tomcat绿色版 文件放在那里都可以 1.idea设置默认打开Chrome 2.idea设置选择Tomcat和J ...
- Jar 包 及运行Jar包 - 转载
Eclipse的jar file和Runnable JAR file的区别 - 及bat运行Runnable JAR文件 1.两种jar的区别 jar file是最普通的jar包,即平时我们工程中li ...
- apache kafka配置中request.required.acks含义
Kafka producer的ack有3中机制,初始化producer时的producerconfig可以通过配置request.required.acks不同的值来实现. 0:这意味着生产者prod ...
- ubuntu14.04搭建Hadoop2.9.0伪分布式环境
本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...
- Ajax基础(一)--创建请求
浏览器创建ajax请求: 1.如果是Firefox.Opera.Safari等高级浏览器,可使用XMLHttpRequest()方式创建一个新的ajax请求对象. 如果是IE浏览器,则使用Active ...
- django model_fields_validators 前端页面编辑自定义验证
# model_field_validators.py import re from django.core.exceptions import ValidationError from django ...
- c#的DateTime.Now详解
(转自:http://www.cnblogs.com/lida/archive/2011/01/02/1924197.html) //2008年4月24日 System.DateTime.Now.To ...