• git


    三种方式都可以。
    1. 修改命令
    git remte origin set-url URL

    2.先删后加
    git remote rm origin 
    git remote add origin git@github.com:Liutos/foobar.git 

    3. 直接修改config文件

    删除远程分支

     查看

    git branch -a

     

    删除远程分支

    git branch -r -d origin/branch-name
    git push origin :branch-name

    ////----已存在修改撤销--

    git status

    git checkout .

    git clean -df

    ////

    查看所有分支:git branch -a

     切换分支 :  git checkout master //进入master分支

     重命名本地分支:git branch -m devel develop

     获取远程tag  :git fetch origin tag <tagname>

     把本地tag推送到远程git push --tags

    删除远程分支和tag

    在Git v1.7.0 之后,可以使用这种语法删除远程分支:git push origin --delete <branchName>

    删除tag这么用:git push origin --delete tag <tagname>

    否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:git push origin :<branchName>

    这是删除tag的方法,推送一个空tag到远程tag:git tag -d <tagname> git push origin :refs/tags/<tagname>

    两种语法作用完全相同。

    删除不存在对应远程分支的本地分支

    假设这样一种情况:

    1. 我创建了本地分支b1并pull到远程分支 origin/b1
    2. 其他人在本地使用fetch或pull创建了本地的b1分支;
    3. 我删除了 origin/b1 远程分支;
    4. 其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行git branch -a 也不能看出这个branch被删除了,如何处理?

    使用下面的代码查看b1的状态:

    $ git remote show origin
    * remote origin
      Fetch URL: git@github.com:xxx/xxx.git
      Push  URL: git@github.com:xxx/xxx.git
      HEAD branch: master
      Remote branches:
        master                 tracked
        refs/remotes/origin/b1 stale (use 'git remote prune' to remove)
      Local branch configured for 'git pull':
        master merges with remote master
      Local ref configured for 'git push':
        master pushes to master (up to date)
    

    这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。

    更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:git fetch -p

     $ git pull -p
    # 等同于下面的命令
    $ git fetch --prune origin
    $ git fetch -p

    删除本地分支

    git br -d <branch name>

       

    删除remote分支

    git branch -r -d origin/branch-name

    本地分支的创建

    git checkout -b <branch name> 的那个分支

    如果在master分支下checkout,即:

    git checkout master //进入master分支

    git checkout -b frommaster //以master为源创建分支frommaster

    git log后发现frommaster中有一个提交:

    master 分支将会和 frommaster 分支内容一致

    这说明他是从master分支为源头创建的

     

    远程分支的创建

    从远程分支检出的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程
    分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服
    务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并

    把它们的数据都合并到本地分支中来.

    $ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中

    $ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
    $ git push origin master

    这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com /rt4ls.git,也就是说你操 作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者 的别名。

        需要说明的是,默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支。

    我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。

        如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。

    $ git push origin test:master         // 提交本地test分支作为远程的master分支
    $ git push origin test:test              // 提交本地test分支作为远程的test分支

    如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

    $ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

    1,从已有的分支创建新的分支(如从master分支),创建一个dev分支

    git checkout -b dev

    2,创建完可以查看一下,分支已经切换到dev

    git branch

        * dev

        master

    3,提交该分支到远程仓库

    git push origin dev

    4,测试从远程获取dev

    git pull origin dev

    或者:

    如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname  就可以将远程分支映射到本地命名为local-branchname  的一分支

    5,我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息

    git branch --set-upstream-to=origin/dev

    取消对master的跟踪

    git branch --unset-upstream master

    6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master

  • 相关阅读:
    解决 EDAS:Upload failed: The right margin is 0.535 in on page 1 问题
    解决 ImportError: No module named _internal
    静态页面如何实现 include 引入公用代码
    一个用 js 实现点阵图的编辑器演示
    从 art-template 模版维护到动态加载的思考
    Atom 备份神器 —— Sync Settings
    clicaptcha中文点击验证码开发经验总结
    通过 imagick 让 PHP 生成 PSD 文件缩略图
    让视频压制更简单
    Medoo个人修改版
  • 原文地址:https://www.cnblogs.com/developer-ios/p/5223877.html
Copyright © 2020-2023  润新知