git

git clone   ssh://10088/xesoa/data/data.git

git checkout -b teacher-II origin/teacher-II

git add .

git commit -m "xxxx"

git push

=============================================================

如何使用git将remote master上的内容merge 到自己的开发分支上  &  以及将自己分支的内容merge到remote master上

remote master上的内容merge 到自己的开发分支上 (上班第一件事)

1. 切换到master分支

    git checkout master

2. 将remote master同步到local master

    git pull origin master

3. 切换到的local开发分支

    git checkout dev_xxx

4. 合并 local master 到 local的开发分支

      git merge master

5.推送更新到gitlab,使gitlab同步更新显示

      git push origin dev_xxx

  

将自己分支的内容merge到remote master上 (下班最后一件事)

1. 切换到 local 开发分支, 并提交到 local  开发分支

  git checkout dev_xxx

    git status

  git add .

  git commit -m "@@@"

2. 将remote master 的更新下载到本地

     git checkout master

     git pull origin masterr 

3. 将 local  开发分支merge到 local master

     git merge dev_xxx

4. 将 local master  推送更新到gitlab,使gitlab  remote master同步更新显示

   git push origin master

5. 将 local dev_xxx  推送更新到gitlab,使gitlab  remote dev_xxx同步更新显示

   git checkout dev_xxx

      git push origin dev_xxx

 PS:  这个操作确实很复杂, 不清楚有没有简单的方式。等弄明白git的原理了,在回来更新。

   第二部分的最后一步,可能不需要。

===================================

新建完全空白的本地分支

否则在哪个分支环境下新建checkout 新分支都会导致将当前分支的记录copy到新建的分支上。具体步骤如下

1 git checkout --orphan clean_tree2  #新建空白本地分支clean_tree2

2 git rm -rf .

3 git pull origin test2   #之后想在哪个分支基础上修改就将哪个分支pull过来

4 git branch --set-upstream-to origin/test2   clean_tree2

===================================

git撤销工作区和缓存区修改

“git checkout -- 待回退的文件”     撤销的是工作中文件的修改,

而“git reset HEAD -- 待回退的文件”  撤销的是暂存区中文件的修改。

 

git pull命令解析:

以下是一些示例 -

$ git pull <远程主机名> <远程分支名>:<本地分支名>

Shell

比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 -

$ git pull origin next:master

Shell

如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:

$ git pull origin next

Shell

上面命令表示,取回origin/next分支,再与当前分支合并。实质上,这等同于先做git fetch,再执行git merge

$ git fetch origin
$ git merge origin/next

Shell

在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。

Git也允许手动建立追踪关系。

$ git branch --set-upstream-to origin/next master

Shell

上面命令指定本地master分支追踪远程origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名。

$ git pull origin

Shell

上面命令表示,本地的当前分支自动与对应的origin主机”追踪分支”(remote-tracking branch)进行合并。

如果当前分支只有一个追踪分支,连远程主机名都可以省略。

$ git pull

=====================================================================

删除远程本地分支:

(1)删除远程分支

        使用命令 git push origin --delete Chapater6   可以删除远程分支Chapater6   

        再次使用命令 git branch -a   可以发现,远程分支Chapater6已经被删除。

(2)删除本地分支

           使用命令,git branch -d Chapater8 可以删除本地分支(在主分支中)

========================================================================

git查看本地分支关联(跟踪)的远程分支之间的对应关系,本地分支对应哪个远程分支:

git branch -vv

===========================================================================

git在本地新建远程分支和删除

现在我在master分支上,工作目标是干净的,也没有需要commit的:

$ git branch
* master
  release

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

新建远程分支

新建一个本地分支:

注意很重要的一点,新建分支的时候所在的分支就是你新建分支的本地代码库的内容。

在这里是在master分支上创建的,如果你想要从develop分支上创建分支,就需要先切换到develop分支上再创建。

$ git checkout -b dbg_lichen_star

查看一下现在的分支状态:

$ git branch
* dbg_lichen_star
  master
  release

星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。

把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):

$ git push origin dbg_lichen_star:dbg_lichen_star

使用git branch -a查看所有分支,会看到remotes/origin/dbg_lichen_star这个远程分支,说明新建远程分支成功。

删除远程分支

删除分支的时候不能停留在要删除的分支上!!

方法1

 git branch -r -D origin/release

我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:

$ git push origin :dbg_lichen_star

也可以使用:

$ git push origin --delete dbg_lichen_star

这两种方式都可以删除指定的远程分支

git后修改了本地文件,如何重新还原未修改状态

单个文件 : git checkout + 文件名

整个目录 :git checkout .(这个点要加上的)

下载远程分支

//查看远程分支
git branch -r
//创建本地分支并关联
git checkout -b 本地分支 origin/远程分支

//已有本地分支创建关联
git branch --set-upstream-to origin/远程分支名  本地分支名
//拉取
git pull

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值