Git命令推送到远程分支

1、登录GitHub创建一个远程仓库。

  https://github.com

              

2、git init

  本地创建一个目录,并初始化一个git仓库。

3、git add

  添加文件到当前目录下,然后执行git add ,将“修改”从当前工作区存放到暂存区。

4、git commit -m "注释语句"

  将暂存区中存放的文件提交到本地git仓库。

5、git remote add origin https://远程仓库地址

  将本地代码库的当前分支与远程的代码库分支相关联。

6、git pull origin master

  远程库分支更新代码到本地。

7、git push -u origin master(远程分支)

  将本地代码库的当前分支推送到远程的代码库。

如果如下报错

failed to push some refs to 'https://github.com/kosamino/demo.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方法有

1.使用强制push的方法:(首次上传代码可用这个方法)

  $ git push -u origin master -f

  这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来

  $ git pull origin master

  $ git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

  $ git branch [name]

  然后push

  $ git push -u origin [name]

删除远程仓库(比如GitHub)的目录或文件

1、拉取远程的Repo到本地(如果已经在本地,可以略过)

  $ git clone xxxxxx
2、在本地仓库删除文件
  $ git rm 我的文件
3、在本地仓库删除文件夹
  $ git rm -r 我的文件夹/
  此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。
4、提交代码
  $ git commit -m"我的修改"
5、推送到远程仓库 
  $ git push origin 远程分支

git rm -h(rm命令详解)

  用法:git rm [<选项>] [--] <文件>...

  -n, --dry-run 演习

  -q, --quiet 不列出删除的文件

  --cached 只从索引区删除

  -f, --force 忽略文件更新状态检查

  -r 允许递归删除

  --ignore-unmatch 即使没有匹配,也以零状态退出

删除远程分支和tag

1、在Git v1.7.0 之后,可以使用这种语法删除远程分支:
  $ git push origin --delete <branchName>
2、删除远程tag:
  $ git push origin --delete tag <tagname>
3、删除远程分支,推送一个空分支到远程分支,其实就相当于删除远程分支:
  $ git push origin :<branchName>
4、删除远程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中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。

  例如下面的例子中,我需要把 devel 分支重命名为 develop 分支:

$ git branch -av
* devel 752bb84 Merge pull request # from Gwill/devel
master 53b27b8 Merge pull request # from tdlrobin/master
zrong 2ae98d8 modify CCFileUtils, export getFileData
remotes/origin/HEAD -> origin/master
remotes/origin/add_build_script d4a8c4f Merge branch 'master' into add_build_script
remotes/origin/devel 752bb84 Merge pull request # from Gwill/devel
remotes/origin/devel_qt51 62208f1 update .gitignore
remotes/origin/master 53b27b8 Merge pull request # from tdlrobin/master
remotes/origin/zrong 2ae98d8 modify CCFileUtils, export getFileData

  删除远程分支:

$ git push --delete origin devel
To git@github.com:zrong/quick-cocos2d-x.git
- [deleted] devel

  重命名本地分支:

  $ git branch -m devel develop
  推送本地分支:

$ git push origin develop
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), 1.38 MiB, done.
Total (delta ), reused (delta )
To git@github.com:zrong/quick-cocos2d-x.git
* [new branch] develop -> develop

  在 github 上操作的时候,删除远程分支时若碰到这个错误:

$ git push --delete origin devel
remote: error: refusing to delete the current branch: refs/heads/devel
To git@github.com:zrong/quick-cocos2d-x.git
! [remote rejected] devel (deletion of the current branch prohibited)
error: failed to push some refs to 'git@github.com:zrong/quick-cocos2d-x.git'

  这是由于在 github 中,devel 是项目的默认分支。要解决此问题,这样操作:

  进入 github 中该项目的 Settings 页面;

  设置 Default Branch 为其他的分支(例如 master);

  重新执行删除远程分支命令。

附GitHub常用命令:

  • git branch 查看本地所有分支
  • git status 查看当前状态
  • git commit 提交
  • git branch -a 查看所有的分支
  • git branch -r 查看远程所有分支
  • git commit -am "init" 提交并且加注释
  • git remote add origin git@192.168.1.119:ndshowgit
  • push origin master 将文件给推到服务器上
  • git remote show origin 显示远程库origin里的资源
  • git push origin master:develop
  • git push origin master:hb-dev 将本地库与服务器上的库进行关联
  • git checkout --track origin/dev 切换到远程dev分支
  • git branch -D master develop 删除本地库develop
  • git checkout -b dev 建立一个新的本地分支dev
  • git merge origin/dev 将分支dev与当前分支进行合并
  • git checkout dev 切换到本地dev分支
  • git remote show 查看远程库
  • git add .git rm 文件名(包括路径) 从git中删除指定文件* git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来
  • git config --list 看所有用户
  • git ls-files 看已经被提交的
  • git rm [file name] 删除一个文件
  • git commit -a 提交当前repos的所有的改变
  • git add [file name] 添加一个文件到
  • git indexgit commit -v 当你用-v参数的时候可以看commit的差异
  • git commit -m "This is the message describing the commit" 添加commit信息
  • git commit -a -a是代表add,把所有的change加到git index里然后再commit
  • git commit -a -v 一般提交命令
  • git log 看你commit的日志
  • git diff 查看尚未暂存的更新
  • git rm a.a 移除文件(从暂存区和工作区中删除)
  • git rm --cached a.a 移除文件(只从暂存区中删除)
  • git commit -m "remove" 移除文件(从Git中删除)
  • git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除)
  • git diff --cached 或 $ git diff --staged 查看尚未提交的更新
  • git stash push 将文件给push到一个临时空间中
  • git stash pop 将文件从临时空间pop下来

git remote add origin git@github.com:username/Hello-World.git

git push origin master 将本地项目给提交到服务器中

git pull 本地与服务器端同步

git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。

git push origin serverfix:awesomebranch

git fetch 相当于是从远程获取最新版本到本地,不会自动merge

git commit -a -m "log_message" (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 :

git branch branch_0.1 master 从主分支master创建branch_0.1分支

git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0

git checkout branch_1.0/master 切换到branch_1.0/master分支du -hs

git branch 删除远程branchgit push origin :branch_remote_namegit branch -r -d branch_remote_name

Git常用命令及场景的更多相关文章

  1. git常用命令和场景

    总结: git init //初始化本地git环境 git clone XXX//克隆一份代码到本地仓库 git pull //把远程库的代码更新到工作台 git pull --rebase orig ...

  2. sublime 集成git插件,及git常用命令

    以前用了很久的totoiseSVN,显然不够高大上,开发界的版本装x利器还得是git.然而git的命令行对没怎么用过linux的人可能觉得还不如用gitGUI,可是当你知道sublime可以集成git ...

  3. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  4. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...

  5. Git 常用命令和 Git Flow 梳理

    git 用 git 有一段时间了,之前没有详细地了解 git flow,导致协作过程中或多或少出现了一些头疼问题.最近静下心来理了下 git flow 的整个流程,再回头看开朗了不少,总结到这里.介绍 ...

  6. 【git】Git 常用命令大全

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势.

  7. 10年阿里自动化测试架构师帮您收集的:git常用命令大全以及git原理图【泣血推荐,建议收藏】

    一.Git分布式版本控制简介 ​ Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势.本来想着只把最有用.最常用的 Git 命令记下来, ...

  8. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. Python3之max key参数学习记录

    今天用Python写脚本,想要实现这样的功能:对于给定的字典,返回其中Value最大值对应的Key. 搜索后找到了解决方法,同时也学到了max key参数的作用. 例1, testlist = [9. ...

  2. pxe+Kickstart自动装机补充知识点

    1.vmlinuzvmlinuz是可引导的.压缩的内核.“vm”代表“Virtual Memory”.Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制.Linux能够使用硬盘 ...

  3. Logistic Loss的简单讨论

    首先应该知道Logistic Loss和Crossing Entropy Loss本质上是一回事. 所以所谓的SoftMaxLoss就是一般二分类LogisitcLoss的推广.之所以在网络中采取这种 ...

  4. mysql:设置字符集utf8mb4 支持emoji字符

    为什么要把数据库的字符集设置成utf8mb4呢?以前一直用的都是utf8啊? 答案在这里:utf8适用于不使用移动设备的互联网交互,utf8mb4适用于当前的移动设备互联网开发,因为移动设备中常常会有 ...

  5. 学习笔记之Fluent Python

    Fluent Python by Luciano Ramalho https://learning.oreilly.com/library/view/fluent-python/97814919462 ...

  6. Java构造器练习题

    仔细阅读下面的程序 public class Car { String name = "汽车"; public Car(String name) { this.name = nam ...

  7. Django中media的配置

    Django中media的配置 Django中media文件夹是我们文件(比如头像.文件.视频等)数据十分重要的存放处,这里以用户头像的上传以及media文件的访问为例为大家详细讲解下media的相关 ...

  8. XML和实体类之间相互转换(序列化和反序列化)

    我们需要在XML与实体类,DataTable,List之间进行转换,下面是XmlUtil类,该类来自网络并稍加修改. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  9. VIVADO 入门之仿真与逻辑分析仪使用

    多路分频器设计 在第七节的学习中,笔者带大家通过一个入门必学的流水灯实验实现,快速掌握了VIVADO基于FPGA开发板的基本流程.考虑到很多初学者并没有掌握好Vivado 下FPGA的开发流程,本章开 ...

  10. bootstrap-treeview初使用

    <div id="tree">div> $(function () { function getTree() { var data = [{ text: &quo ...