使用多个仓库
git push cangkuming fenzhiming
删除远程仓库
git push 远程仓库名 :删除目标分支    # 需要先删除本地目标分支

git pull <远程主机名> <远程分支名>:<本地分支名> //取回远程主机某个分支的更新,再与本地的指定分支合并。

使用Git下载指定分支命令为:git clone -b 分支名仓库地址

Git常用命令
工作区(file) --> git add file(暂存区) --> git commitf -m 'x'(版本库) mkdir itsgit 创建也个git管理用的版本库
cd itsgit
git init 将该目录变成git能够管理的仓库 将需要管理的文件添加到仓库里
git add filename,filename2 --将工作区文件放入暂存区
git commit -m '说明' --一次性把暂存区的所有修改提交到分支(master)HEAD指向master。
git log 查看历史记录
git log --pretty=oneline 版本回退
上一个版本就是HEAD^,上上一个版本就是HEAD^^,
当然往上100个版本写100个^比较容易数不过来,所以写成HEAD`100
git reset --hard HEAD^
多返回了版本 只要还知道commit id
git reset --hard id
git reflog用来记录了每一次commit id git怎样跟踪file
git跟踪并管理的是修改,而非文件。
执行: 修改file --> git add file --> 再次修改file --> git commit
git diff HEAD -- file 查看版本库最新file和工作区file的区别
git在这个过程只记录了第一次修改的内容,第二次将不会记录,如果版本回退在跳回来,第二次修改的内容会丢失 git放弃修改
1.仅仅工作区的修改时,用命令git checkout -- file
2.工作区修改后,并add到暂存区 先git reset HEAD file(文件到了add之前在工作区的状态),在执行上述第一点
3.并且commit了,使用版本回退功能 删除文件
工作区 rm file ;版本库 git rm file .可以放弃删除,by git reset HEAD file and git checkout file 在工作区失误删除了file(前提该file存在暂存区或版本库)
git checkout file
查看当前分支
git branch

-- 本地库连接远程库

提交到远程仓库  git分布式版本库

远程仓库Github
git init 初始化本地项目
git add projiect
git commit -m 'say something'
git remote add `anyname` https://github.com/tangpinggui/oasystem 连接远程仓库
git push -u `anyname` master 第一次提交
git push 以后提交 or 多个仓库不同分支 git push anyname A:B A:本地分支名 B:远程分支名

git push -u origin master报错  是因为 版本内容不同步

To https://github.com/tangpinggui/oasystem.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'https://github.com/tangpinggui/oasystem.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.
(tornado1) pyvip@Vip:~/oasystem$ git remote add origin git@github.com:tangpinggui/oasystem.git
fatal: remote origin already exists.

解决方法:

git pull --rebase origin master  同步远程文件
或者:
git pull origin master --allow-unrelated-histories

git merge origin/master

git push -u origin master

-- 先创建远程库在克隆远程库

git clone https://github.com/tangpinggui/remotelibrary   克隆版本库 ,成功后就有了这个 remotelibrary 目录
 
 
创建分支:

创建与合并分支


版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。HEAD严格来说不是指向提交,而是指向mastermaster才是指向提交的,所以,HEAD指向的就是当前分支。

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:

之前状态:

 创建dev分支
git checkout -b dev
 
 
 
 
创建之后:Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。再次commit时,则指针dev移动,master则不移动
加入修改了某个文件,并且commit。它则被 dev记录
这时跳回master,修改内容消失。说明master指针未移动,在次转回dev,内容还在。
git checkout master
完事后在合并指针,将dev工作成果合并到master   ps:需要去到 git checkout master分支 在执行合并
 git merge dev
 合并完成后删除dev   git branch -d dev
 
--------------------------------------------------------------------------------------

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

 
ex: 一个简单的分支合并思路
1. master
commit1 - commit2 - commit3 - commit4 - commit5
2.checkout newbrabch 新的分支在master commit创建,并新增功能
commit2 - newcommit1
3.将newcommit1和commit5合并
首先checkout commit5
然后marge into current, 如果只是单纯的增加了代码,那么会直接合并。如果是修改了代码,需要手动选择应该留下的代码
 
 另外在git init的目录下创建 .gitignore文件。
在该文件可以申明不追踪的目录,比如 加入 static/
 
 

git常用命令,冲突的更多相关文章

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

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

  2. Git 常用命令详解

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

  3. Git常用命令总结

    Git常用命令总结 git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone ...

  4. Git 常用命令详解(二)

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

  5. 【转】 Git 常用命令详解(二)----不错

    原文网址:http://blog.csdn.net/ithomer/article/details/7529022 Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如: ...

  6. git常用命令2

    一. Git 常用命令速查 git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r ...

  7. Git常用命令(转)

    目前开发的新项目使用的版本控制工具基本用的都是Git,老项目用的还是Svn,网上Git资源也很多,多而杂.我整理了一份关于Git的学习资料,希望能帮助到正在学习Git的同学. 一. Git 命令初识 ...

  8. Git 常用命令 更新与提交

    整理了一下Git 常用命令,这个版本还是比较好用的,最后附上个人终结版,帮助你快速上手. 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone yourgit ...

  9. 总结自己的Git常用命令

    总结自己的Git常用命令 使用git也有一段时间了,把自己常用的命令用自己的描述记录起来,方便自己备忘也方便其他人参考. 目录: 最基本的命令: git clone 拷贝并跟踪远程的master分支. ...

随机推荐

  1. CodeForces - 778C: Peterson Polyglot (启发式合并trie树)

    Peterson loves to learn new languages, but his favorite hobby is making new ones. Language is a set ...

  2. Pr学习日记

    1.http://tieba.baidu.com/p/4102775256   2.素才,编辑制作视频,视频输出    3. 启用新建保存:     启用:双击    新建项目:名称(第一节课),位置 ...

  3. Ordering Tasks 拓扑排序

    John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task i ...

  4. IntelliJ IDEA 2017激活

    最新更新: 在激活Jetbrains旗下任意产品的时候选择激活服务器 填入以下地址便可成功激活 http://idea.liyang.io 点击help→Register→License sever ...

  5. 使用jsonp进行跨站点数据访问

    使用jsonp 可以解决ajax 的跨域问题,使用起来比较简单. 具体的测试环境搭建如下 1.一个简单的MVC 站点 2.一个简单的html文件(这次的测试是在web 站点中,当然可以是一个简单的ht ...

  6. 2019第1周日-MQ选型要点

    用消息中间件犹如小马过河,选择合适的才最重要,这需要贴合自身的业务需求,技术服务于业务.具体在选择上可从下面功能.性能.可靠性和可用性.运维管理.社区和生态.团队技术栈等维度来进行筛选. 具体技术选型 ...

  7. 【转】实战USB接口手机充电 看3.0/2.0谁更快

    原文网址:http://mb.it168.com/a2012/0816/1385/000001385641_all.shtml [IT168 应用]当下,越来越多的电脑都已普及USB 3.0接口,新买 ...

  8. nginx 官方docker镜像使用教程

    最近在看nignx,在本地虚拟机使用docker nginx镜像搭建了nginx+php环境 整理的教程如下: 拉取nginx镜像docker pull nginx 创建一个容器,并挂载本地目录doc ...

  9. 嵌入式QT应用的窗口大小、位置,QtreeStack的样式

    1.    窗口固定大小 :this->setFixedSize(452,244); 2.窗口固定位置(经试验,触摸屏的鼠标事件不能有效使用) oldPos.setX((800-452)/2); ...

  10. debian之apt源

    美国的 deb http://ftp.us.debian.org/debian stable main contrib non-freedeb-src http://ftp.us.debian.org ...