使用多个仓库
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. [LeetCode&Python] Problem 590. N-ary Tree Postorder Traversal

    Given an n-ary tree, return the postorder traversal of its nodes' values. For example, given a 3-ary ...

  2. CTF-练习平台-Misc之 这是一张单纯的图片??

    一.这是一张单纯的图片?? 分析图片,首先查看图片属性 没有发现有用的信息,再用WinHex打开 发现最后面有点眼熟,和ASCII表对应后发现是flag

  3. hdu5230

    bc41第三题: 由 1 - n-1 这 n-1 个数组成 l - c 到 r - c 闭区间内的数共有多少种组合方法: 据称本来应该也比较简单吧,xiaoxin说了个五边形数,然后纷纷找了五边形数的 ...

  4. 一篇文章入门Jmeter性能测试【经典长文】

    孟船长  目录 1.性能测试定义2.为什么要做性能测试3.性能测试指标.性能测试分类4.Jmeter性能测试实战[入门级]5.参考文章链接 1.性能测试定义 百度&知乎 性能测试是通过自动化的 ...

  5. BZOJ4713 迷失的字符串

    分析 首先考虑只有一个串时的做法,可以进行背包dp,记\(f(i,j)\)表示从\(i\)的子树中某点出发到\(i\)能否匹配字符串的\(1 \dots j\)位且\(i\)与\(j\)匹配.同时记\ ...

  6. 2、let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所 ...

  7. 进程间通信--POSIX共享内存

    1.参考:https://www.cnblogs.com/Anker/archive/2013/01/19/2867696.html

  8. POJ1742Coins

    题目:http://poj.org/problem?id=1742 可以正常地多重背包.但是看了<算法竞赛入门经典>,收获了贪心的好方法. 因为这里只需知道是否可行,不需更新出最优值之类的 ...

  9. [ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

    [ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>       ...

  10. linux 标准I/O (二)

    <Uinx 环境高级编程笔记>   以前经常遇到两种I/O操作 一类是f打头的fopen, fread, fwrite 一类是没有f打头的open, read, fwrite 原来一个是U ...