首先要明确一点,对git的操作是围绕3个大的步骤来展开的(其实几乎所有的SCM都是这样)
1. 从git取数据(git clone)
2. 改动代码
3. 将改动传回git(git push)
这3个步骤又涉及到两个repository,一个是remote repository,再远程服务器上,一个是local repository,再自己工作区上。其中
1, 3两个步骤涉及到remote server/remote repository/remote branch,
2涉及到local repository/local branch。git clone 会根据你指定的remote server/repository/branch,拷贝一个副本到你本地,再git push之前,你对所有文件的改动都是在你自己本地的local repository来做的,你的改动(local branch)和remote branch是独立(并行)的。Gitk显示的就是local repository。
在clone完成之后,Git 会自动为你将此远程仓库命名为origin(origin只相当于一个别名,运行git remote –v或者查看.git/config可以看到origin的含义),并下载其中所有的数据,建立一个指向它的master 分支的指针,我们用(远程仓库名)/(分支名) 这样的形式表示远程分支,所以origin/master指向的是一个remote branch(从那个branch我们clone数据到本地),但你无法在本地更改其数据。
同时,Git 会建立一个属于你自己的本地master 分支,它指向的是你刚刚从remote server传到你本地的副本。随着你不断的改动文件,git add, git commit,master的指向会自动移动,你也可以通过merge(fast forward)来移动master的指向。
$git branch -a (to show all the branches git knows about)
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
$git branch -r (to show remote branches git knows about)
origin/HEAD -> origin/master
origin/master
可以发现,master就是local branch,origin/master是remote branch(master is a branch in the local repository. remotes/origin/master is a branch named master on the remote named origin)
$git diff origin/master master (show me the changes between the remote master branch and my master branch).
需要注意的是,remotes/origin/master和origin/master的指向是相同的
$git diff origin/master remotes/origin/master
git push origin master
origin指定了你要push到哪个remote
master其实是一个“refspec”,正常的“refspec”的形式为”+<src>:<dst>”,冒号前表示local branch的名字,冒号后表示remote repository下 branch的名字。注意,如果你省略了<dst>,git就认为你想push到remote repository下和local branch相同名字的branch。听起来有点拗口,再解释下,push是怎么个push法,就是把本地branch指向的commit push到remote repository下的branch,比如
$git push origin master:master (在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)
$git push origin master (省略了<dst>,等价于“git push origin master:master”)
$git push origin master:refs/for/mybranch (在local repository中找到名字为master的branch,用他去更新remote repository下面名字为mybranch的branch)
$git push origin HEAD:refs/for/mybranch (HEAD指向当前工作的branch,master不一定指向当前工作的branch,所以我觉得用HEAD还比master好些)
$git push origin :mybranch (再origin repository里面查找mybranch,删除它。用一个空的去更新它,就相当于删除了)
- 浏览: 489651 次
- 性别:
- 来自: 上海
-
最新评论
-
fanxp:
很好,学习了!
mysql导入数据load data infile用法 -
maomao15:
...
(转) Class.getResource与ClassLoader.getResource()区别 -
贾懂凯:
有maven的配置吗?
Spring MVC整合Velocity的例子 -
kevinhrw:
一个好办法不知道使用"mvc:resources&q ...
Spring3.0 做rest时候拦截js、图片 -
love_miaohong:
这样子设置没作用啊, window7系统下用这个方式不行
MongoDB在windows操作系统cmd下乱码
相关推荐
在这个压缩包文件“node-git-origin-url-master”中,包含了这个库的源代码。开发者可以解压后查看其结构,学习如何编写类似的工具,或者直接将其作为依赖引入自己的项目中。通常,这样的库会提供安装和使用的说明,...
git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout ...
本文将详细介绍解决Git在尝试执行`git push origin master`命令时报错的常见方法。在Git版本控制系统中,`git push origin master`命令用于将本地master分支的更改推送到远程仓库。然而,在实际操作过程中,可能会...
官方离线安装包,亲测可用
在给定的压缩包文件中,我们有两个关键组件:"Git-2.19.2-64-bit.exe" 和 "git-master.zip"。 1. **Git-2.19.2-64-bit.exe**: 这是Git的64位版本,版本号为2.19.2。Git的版本更新频繁,每个新版本通常会包含性能...
8. **远程分支**:`origin/master`是远程仓库(如GitHub)上的master分支的本地引用,可以使用`git fetch`和`git pull`来更新本地的远程分支。 9. **HEAD指针**:HEAD是一个特殊的指针,总是指向当前分支的最新提交...
git push origin master ``` 5. **清理**:如果不再需要dev分支,可以将其删除。 ``` git branch -d dev git push origin --delete dev ``` 通过以上步骤,你可以成功地迁移Git仓库并完成dev到master的合并...
git push origin master:refs/for/master ``` 这里的 `origin` 表示远程主机名,`master` 分别代表本地分支名和远程分支名。具体来说,该命令的作用是将本地的 `master` 分支推送到远程主机 `origin` 上名为 `refs/...
* 如果远程仓库中有文件,先使用git pull --rebase origin master命令将两者内容合并,然后使用git push origin master命令 * 之后,只需使用git push origin master命令,push到远程仓库中 六、其他命令 * git ...
从远程仓库pull文件:git pull origin master 提交代码到暂存: git add . (提交暂存) 提交代码: git commit -m (注释什么操作) 推送到远程仓库:git push -u origin master (master 默认分支)
最后,使用 `git push origin master` 将更改推送到码云远程仓库。 要检查推送是否成功,可以在码云仓库页面查看最新的提交记录。至此,你已成功地完成了 Git 配合码云的快速入门。随着对 Git 和码云的深入使用,你...
* git push origin master:develop:将本地库与服务器上的库进行关联 八、Git 忽略文件 * gitignore 文件:忽略特殊文件 * git rm --cached a.a:移除文件(只从暂存区中删除) * git rm -f a.a:强行移除修改后...
Bitbucket 配置及简单使用指南 Bitbucket 是一个基于 web 的 Git 仓库管理平台,提供了免费的私有仓库和协作功能。在这里,我们将详细介绍 Bitbucket 的配置和简单使用。...git push origin master
git push origin master ``` - 再次登录到GitHub等平台,将默认分支由`temp`改回`master`。 通过以上步骤,你可以有效地解决因误删`master`分支而带来的问题,并重新构建起正常的工作流程。 #### 总结 本文...
1:git init ...5:git push -u origin master 把本地仓库中的文件同步到远程仓库中。其中master为远程仓库的分支名。 git push -u origin master;这一步需要输入github的账号和密码: 6:git status
2. **未合并的文件**:使用`git pull --rebase origin master`先拉取远程更改,再解决冲突,最后`git push origin master`。 3. **非快进提交**:当试图推送的分支在远程仓库有新的提交时,需要先`git pull`更新...
git pull origin master ``` 8. **参与开发和贡献**: 如果你想为NVM项目贡献代码,你需要了解Git的分支、合并请求和冲突解决等基本操作。创建新的分支,做出修改,然后发起一个pull request到NVM的master分支。 ...
"intro_git-master"这个压缩包文件很可能是关于Git的入门教程或者示例项目,其中包含了一系列与Git相关的文件和目录,很可能用来介绍Git的基本概念、命令以及工作流程。下面我们将深入探讨Git的重要知识点。 1. Git...
git push origin --tags master develop ``` 6. **hotfix分支** 如果线上发现bug,需要紧急修复,可以从master分支创建hotfix分支: ```bash # 使用git flow命令创建 git flow hotfix start 1.0.1 # 或者...