[Git] Git基础

远程仓库

查看远程仓库: git remote -v

添加远程仓库: git remote add <repoName> <url>

拉取远程仓库数据: git fetch <repoName>

这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。如果你使用 clone 命令克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写。

运行 git pull 通常会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。

推送到远程仓库: git push <repoName> <branch>

  $ git push origin master  // 表示将master branch推送到origin。

1)只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。

2)当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。

查看某个远程仓库: git remote show [repoName]

重命名远程仓库: git remote rename <old> <new>

删除远程仓库: git remote rm <repoName>

远程分支

远程引用是对远程仓库的引用(指针),包括分支、标签等等。 你可以通过 git ls-remote [remoteRepo] 来显式地获得远程引用的完整列表,或者通过 git remote show [remote] 获得远程分支的更多信息。 然而,一个更常见的做法是利用远程跟踪分支。

跟踪分支:

1)从一个远程跟踪分支检出一个本地分支会自动创建一个叫做 “跟踪分支”。 跟踪分支是与远程分支有直接关系的本地分支。

2)运行 git checkout --track [remotename]/[branch],如果想要将本地分支与远程分支设置为不同名字:

      git checkout --track [branch] [remotename]/[branch]

3)设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支,你可以在任意时间使用 -u 或 --set-upstream-to 选项运行 git branch 来显式地设置。

    $ git branch -u origin/serverfix
    Branch serverfix set up to track remote branch serverfix from origin.

4) 如果想要查看设置的所有跟踪分支,可以使用 git branch 的 -vv 选项

git branch -vv

推送:git push

运行 git push (remote) (branch),Git 自动将 serverfix 分支名字展开为refs/heads/serverfix:refs/heads/serverfix,那意味着,“推送本地的 serverfix 分支来更新远程仓库上的 serverfix 分支。”

也可以运行 git push origin serverfix:serverfix,它会做同样的事 - 相当于它说,“推送本地的 serverfix 分支,将其作为远程仓库的 serverfix 分支” 可以通过这种格式来推送本地分支到一个命名不相同的远程分支。 比如:可以运行 git push origin serverfix:awesomebranch 来将本地的 serverfix 分支推送到远程仓库上的awesomebranch 分支。

拉取: git fetch/pull

当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。 它只会获取数据然后让你自己合并。

而 git pull 在大多数情况下它的含义是一个 git fetch紧接着一个 git merge 命令。

删除远程分支: git push <repoName> --delete <branch>

基本上这个命令做的只是从服务器上移除这个指针。 Git 服务器通常会保留数据一段时间直到垃圾回收运行,所以如果不小心删除掉了,通常是很容易恢复的。

Others

git rebase/merge/cherry-pick

merge 命令把不同分支合并起来。rebase 是 merge 命令的另一种选择。merge 把两个父分支合并进行一次提交,提交历史不是线性的。衍合在当前分支上重演另一个分支的历史,提交历史是线性的。 本质上,这是线性化的自动的 cherry-pick

git checkout 命令用于从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支。比如:

git checkout HEAD~ files

git checkout otherBranch

git reset 命令把当前分支指向另一个位置,并且有选择的变动工作目录和索引。也用来在从历史仓库中复制文件到索引,而不动工作目录。如果不给选项,那么当前分支指向到那个提交。如果用--hard选项,那么工作目录也更新,如果用--soft选项,那么都不变。 git rebase [HEAD~3]

如果给了文件名(或者 -p选项), 那么工作效果和带文件名的checkout差不多,除了索引被更新。比如:

git rebase -- files

时间: 2024-10-24 11:20:29

[Git] Git基础的相关文章

分布式版本管理器Git的基础操作指南

对于任何一个文件,在Git内都只有3种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地波啊存在本地数据库中了,已修改表示修改了某个文件,但还没有提交保存,已暂存表示把已修改的文件放在下次提交时要保存的清单中. 一.基本的Git工作流程如下所示: 在工作目录中修改某些文件 对这些修改了的文件做快照,并保存到暂存区域 提交更新,将保存在暂存区域的文件快照转储到git目录中 二.Git安装 yum install curl-devel

Mac下Git的基础操作

目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快速的.免费的.稳定的在线代码托管平台有github,还有一些国内的,coding.csdn代码托管平台.京东代码托管平台等等. 二.Git的基本使用 1.注册一个git账号 咱们以coding代码托管平台为例来简单介绍 A.登陆coding网站https://coding.net/,注册coding

Git使用基础篇

Git使用基础篇 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍 Git的使用技巧,最后会在Git Hub上创建一个开源项目开启你的Git实战之旅 1.Git是什么 Git在Wikipedia上的定义:它是一个免费的.分布式的版本控制工具,或是一个强调了速度快的

分布式版本管理器Git的基础操作与配置指南&lt;二&gt;

一.Git分支介绍与创建 Git中的分支,其实本质上仅仅是个指向commit对象的可变指针.Git回使用master作为分支的默认名 字,在若干次提交后,你其实已经有了一个指向最后一次提交对象的master分支,它在每次提交的时候 都会自动向前移动. 1.Git分支的创建,切换和删除 git branch 不带参数,它会给出当前所有分支的清单,*表示当前所在的分支 git branch -v 附带显示各个分支最后一次commit信息 git branch testing 创建一个tesing分支

git 操作基础

1.git简介 2.git与svn比较 3.git工作流程 4.git分支管理 5.git使用 6.基础命令 7.过滤文件 8.创建远程gitee仓库 9.用本地仓库首次初始化远程仓库 10.remote源操作 11.多分支开发 一.git简介 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码的开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本库1 > 版本库2 二.git与svn比较 svn的工作流程 git的工作流程 三.git工作流程(重

git 的基础

1.在现有的目录中初始化仓库 [Derek@git]$ git init 2.把一个文件放到Git仓库中 第一步, 用命令git add ,把文件添加到仓库 [Derek@git]$ git add readme.txt 第二步, 用命令git commit , 把文件提交到仓库 [Derek@git]$ git commit -m "wrote a readme file" [master (root-commit) eaadf4e] wrote a readme file 1 fi

Git -&gt; git log笔记

显示提交关系图 git log --graph --oneline 显示最近的几条日志 git log -3 --pretty=oneline 显示每次提交的具体改动 git log -p -1 显示每次提交的变更概要 git log --state --oneline 定制输出 git log --pretty=raw -1 git log --pretty=fuller -1 git log --pretty=oneline -1Git -> git log笔记,布布扣,bubuko.com

GIT -&gt; git rev-parse 笔记

显示分支 $git rev-parse --symbolic --branches 显示里程碑 $git rev-parse --symbolic --tags 显示引用 $git rev-parse --symbolic --glob=refs/* refs/heads/master refs/remotes/origin/HEAD refs/remotes/origin/master 显示SHA1值 $git rev-parse HEAD $git rev-parse master refs

Git介绍,安装,Git+Git flow使用

特点: 1.可以快速的切换项目分支. 2.回滚某个分支的版本. 3.每次切换分支不用修改配置文件 (因项目而定义) 4.不用 新建/切换 虚拟目录/域名.因为都是在同一个目录下进行. 5.上面这些对你有吸引力吗? 喜欢那就参与进来吧.  什么是Git  Git是Linux Torvalds为了帮助管理 Linux,内核开发而开发的一个开放源码的版本控制软件. 特点是快速,开源,分布式管理系统.  它可以对代码的修改进行回滚,将错误的代码剔除.  或者简单地跟踪哪些人修改了代码的哪些行的内容. 对

Git git rebase 使用

原文:http://gitbook.liuhui998.com/4_2.html 一.基本 git rebase用于把一个分支的修改合并到当前分支. 假设你现在基于远程分支"origin",创建一个叫"mywork"的分支. $ git checkout -b mywork origin 假设远程分支"origin"已经有了2个提交,如图 现在我们在这个分支做一些修改,然后生成两个提交(commit). $ vi file.txt $ git c