Git

Git Clone远程仓库项目到本地

1. git clone  远程项目地址
克隆了远程项目到本地仓库,默认分支是master

2. git checkout -b develop # 从master创建本次开发分支,并切换到该分支

3. git add . 以及 git commit -m "fix bug 1" ...

4. 本次开发完毕。更新master到最新,把master的代码更新合并到本次开发分支。
git checkout master  #切换到master分支
git pull # 更新master到最新
git checkout develop
git merge master # 合并master到本次开发分支,如果有冲突,请解决冲突。j解决完冲突 ,需要再 
git add .  和 git commit -m " "

5. 切换到master,merge dev,好了之后 Push

6. 接着在开发分支开发,之后要提交到远程仓库前,从第4步开始即可。

其他:
1、创建本地分支 local_branch

 git branch local_branch

2、创建本地分支local_branch 并切换到local_branch分支

git checkout -b local_branch

3、切换到分支local_branch

git checkout local_branch

4、推送本地分支local_branch到远程分支 remote_branch并建立关联关系

  a.远程已有remote_branch分支并且已经关联本地分支local_branch且本地已经切换到local_branch

      git push

 b.远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch

     git push -u origin/remote_branch

 c.远程没有有remote_branch分支并,本地已经切换到local_branch

    git push origin local_branch:remote_branch

5、删除本地分支local_branch

  git branch -d local_branch

6、删除远程分支remote_branch

 git push origin  :remote_branch

 git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。

 git branch -d | -D branchname 删除branchname分支

 git branch -d -r branchname 删除远程branchname分支

7、查看本地分支

  git branch

8、查看远程和本地分支

git branch -a

git 将本地分支上传至远程分支

一、上传一个独立的分支(比如代码是从工程中直接DOWNLOAD ZIP文件,该文件与原MASTER分支是独立的)

1、git init (在本地工程目录下)

2、git add .

3、git commit -m "luyang" (”luyang“为分支名)

4、git branch luyang (创建分支)

5、git checkout luyang (切换分支)

6、git remote add origin http://192.168.36.10:10080/quantum_rng_testing/nist (”quantum_rng_testing/nist“ 为工程的目录)

7、git push origin luyang (将分支上传)

注意:如果提示 "please tell me who you are“

在.git 目录下的config文件,在最后添加

[user]
name = xxxx
email = xxxxxxx@xx.com

关联 or 切换远程分支

关联: git remote add origin git@github.com:git_username/repository_name.git
切换:

git remote remove origin
git branch --set-upstream-to origin/develop develop
//或者
git remote add origin git@github.com:git_username/repository_name.git

二、上传一个与MASTER相关的分支(该分支是从MASTER中git clone 得到,相关信息在 .git 文件中)

修改后源码后,在进行如下操作
1、git add .

2、git commit -m "luyang" (”luyang“为分支名)

3、git branch luyang (创建分支)

4、git checkout luyang (切换分支)

5、git push origin luyang:luyang

有时候远程分支已经存在,但是本地查不到,则需要更新一下远程分支

Git更新远程分支列表:
git remote update origin --prune,这里要注意下,如果你的remote branch不是在origin下,按你得把origin换成你的名字。

Git-远程分支,远程跟踪分支,跟踪分支的区别

远程分支

远程分支对应的英文为remote branch,其就是在远程仓库的普通分支,比如远程仓库上的master,自己在远程仓库创建的分支,以及自己推送到远程仓库上去的在远程仓库上的分支。当运行git push (仓库名) 分支名 的命令时,便会在远程仓库创建远程分支。如下图中的框出的master分支既是远程分支。


远程跟踪分支

远程跟踪分支对应的英文名称为remote-tracking branch,虽然仅仅多了tracking这个词,但是其作用与性质却与远程分支有很大的不同,远程跟踪分支是本地仓库对远程仓库中的某个远程分支的状态的记录,它们以 “(远程仓库名)/(分支名)” 形式命名。
远程跟踪分支的作用是告诉用户其所跟踪的远程分支的状态(即指向哪一个commit),因而它在本地是只读的,用户是无法自行修改它的指向。其指向将在用户与远程仓库通信时自动改变,这里的通信是指执行诸如git fetch等从远程仓库获取数据的操作。
假设你的网络里有一个在 git.ourcompany.com 的 Git 服务器。 如果你从这里克隆,Git 的 clone 命令会为你自动将其命名为 origin,拉取它的所有数据,创建一个指向它的 master 分支的指针,并且在本地将其命名为 origin/master,这便是指向远程分支master的远程跟踪分支。 Git 也会给你一个与 origin 的 master 分支在指向同一个地方的本地 master 分支,正是这个本地分支才使得用户可以在本地对master分支进行修改

如果你在本地的 master 分支做了一些工作,然而在同一时间,其他人推送提交到git.ourcompany.com 并更新了它的 master 分支,那么你的提交历史将向不同的方向前进。 也许,只要你不与 origin 服务器连接,你的 origin/master 指针就不会移动。

如果要同步你的工作,运行 git fetch origin 命令。 这个命令查找 “origin” 是哪一个服务器(在本例中,它是 git.ourcompany.com),从中抓取本地没有的数据,并且更新本地数据库,移动origin/master 指针指向新的、更新后的位置。

为了演示有多个远程仓库与远程分支的情况,我们假定你有另一个内部 Git 服务器,仅用于你的 sprint 小组的开发工作。这个服务器位于 git.team1.ourcompany.com。 你可以运行 git remote add命令添加一个新的远程仓库引用到当前的项目。 将这个远程仓库命名为 teamone,将其作为整个 URL 的缩写。


现在,可以运行 git fetch teamone 来抓取远程仓库 teamone 有而本地没有的数据。 因为那台服务器上现有的数据是 origin 服务器上的一个子集,所以 Git 并不会抓取数据而是会设置远程跟踪分支teamone/master 指向 teamone 的 master 分支。

跟踪分支

跟踪分支的英文名称为tracking branch,从一个远程跟踪分支产生出的一个本地分支便是跟踪分支,该本地分支对应的远程跟踪分支称为上游分支。跟踪分支是与远程分支有直接关系的本地分支,当克隆一个仓库时,它通常会自动地创建一个跟踪 origin/master 的 master 分支。创建跟踪分支可以使用
git checkout -b [branch] [remotename]/[branch],如:

$ git checkout -b serverfix origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

还可以使用--track快捷方式,如:

$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

那么跟踪分支有什么作用呢?跟踪分支为本地分支和远程分支之间建立了一种联系,方便了远程分支和本地分支的同步。 如果在一个跟踪分支上输入 git pull,Git 能自动地识别去哪个服务器上抓取、合并到哪个分支。同时,跟踪分支还能查看本地分支与对应的远程分支之间的超前落后情况,如使用git branch -vv语句

$ git branch -vv
  iss53     7e424c3 [origin/iss53: ahead 2] forgot the brackets
  master    1ae2a45 [origin/master] deploying index fix
* serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] this should do it
  testing   5ea463a trying something new

这里可以看到 iss53 分支正在跟踪 origin/iss53 并且 “ahead” 是 2,意味着本地有两个提交还没有推送到服务器上。 也能看到 master 分支正在跟踪 origin/master 分支并且是最新的。 接下来可以看到 serverfix 分支正在跟踪 teamone 服务器上的 server-fix-good 分支并且领先 3 落后 1,意味着服务器上有一次提交还没有合并入同时本地有三次提交还没有推送。 最后看到 testing 分支并没有跟踪任何远程分支。

Ref:

http://www.cnblogs.com/Lostork/p/git_remote_remote-tracking_tracking_branch.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容