Git常用命令及操作总结

By:授客 QQ:1033553122

利用TortoiseGit克隆源码库到本地

1、安装TortoiseGit

2、打开Git,进入到源码库,点击图示红色选框框选按钮,弹窗界面中复制链接

2、进入要存放源码库的本地目标目录(比如:E:\Git),右键鼠标-选择Git-Clone,

弹出如下界面

3、如上图,按默认配置,点击Ok 按钮,弹窗密码输入框中输入密码,点击Ok

就这样,会把远程代码的master分支下载到本地目录(例中为 E:\Git\ddt-core-web)。

注:只会克隆master分支到本地

常用命令总结

git clone

git clone [option] <</span>版本库url> <</span>本地目录>

例:下载源码库master分支到本地E:\Git\ddt-core-web目录

git clone --progress -v  "http://01094711@10.116.218.109:8080/scm/ddt/ddt-core-web.git" "E:\Git\ddt-core-web"

Cloning into 'E:\Git\ddt-core-web'...
POST git-upload-pack (gzip 1100 to 620 bytes)
remote: Counting objects: 20726, done.
remote: Compressing objects: 100% (10996/10996), done.
Receiving objects: 100% (20726/20726), 60.25 MiB | 11.28 MiB/s, done.
Resolving deltas: 100% (10079/10079), done.
remote: Total 20726 (delta 10079), reused 15985 (delta 7525)
Checking connectivity... done.
Checking out files: 100% (2132/2132), done.

Success (59156 ms @ 2017/5/25 11:15:16)

参考连接:

http://www.yiibai.com/git/git_clone.html

git
remote

Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。

例:

cd E:\Git\ddt-core-web\

注:除git colne命令外,git remote及以下命令的执行,都要先进入克隆的版本库所在的本地库目录才可以执行,否则会提示类似如下错误

fatal: Not a git repository (or any of the parent directories): .git

列出所有远程主机
E:\Git\ddt-core-web>git remote
origin


使用-v选项,可以参看远程主机的网址

E:\Git\ddt-core-web>git remote -v
origin  http://01094711@10.116.218.109:8080/scm/ddt/ddt-core-web.git (fetch)
origin  http://01094711@10.116.218.109:8080/scm/ddt/ddt-core-web.git (push)

输出说明当前只有一台远程主机,叫做origin,以及它的网址


查看主机的详细信息(git remote show


<</span>
远程主机名>

E:\Git\ddt-core-web>git remote show origin
Password for 'http://01094711@10.116.218.109:8080':
* remote origin
  Fetch URL: http://01094711@10.116.218.109:8080/scm/ddt/ddt-core-web.git
  Push  URL: http://01094711@10.116.218.109:8080/scm/ddt/ddt-core-web.git
  HEAD branch: master
  Remote branches:
    master       tracked
    production   tracked
    release/V5.3 tracked
    release/V5.4 tracked
    release/V5.5 tracked
    release/V5.6 tracked
    release/V5.7 tracked
    release/V5.8 tracked
    release/V5.9 tracked
    release/V6.0 tracked
    release/V6.1 tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

参考链接

http://www.yiibai.com/git/git_remote.html


 


git branch


 


查看所有本地分支

E:\Git\ddt-core-web>git
branch*
master

说明:*  表示该分支为当前分支


查看所有远程分支

E:\Git\ddt-core-web>git
branch -r

origin/HEAD ->
origin/master

origin/master

origin/production

origin/release/V5.3

origin/release/V5.4

origin/release/V5.5

origin/release/V5.6

origin/release/V5.7

origin/release/V5.8

origin/release/V5.9

origin/release/V6.0

origin/release/V6.1


查看所有分支

E:\Git\ddt-core-web>git
branch -a

* master

remotes/origin/HEAD ->
origin/master

remotes/origin/master

remotes/origin/production

remotes/origin/release/V5.3

remotes/origin/release/V5.4

remotes/origin/release/V5.5

remotes/origin/release/V5.6

remotes/origin/release/V5.7

remotes/origin/release/V5.8

remotes/origin/release/V5.9

remotes/origin/release/V6.0

remotes/origin/release/V6.1


删除指定分支(
git
branch -d
 branch_name)

E:\Git\ddt-core-web>git branch -d
myBranch


git fetch


将某个远程主机的更新,全部取回本地
(git
fetch <<font face="宋体">远程主机名>)

E:\Git\ddt-core-web>git
fetch origin

Password for
'http://01094711@10.116.218.109:8080':输入密码,回车

remote: Counting objects: 46, done.

remote: Compressing objects: 100% (31/31), done.

remote: Total 46 (delta 14), reused 0 (delta 0)

Unpacking objects: 100% (46/46), done.

From
http://10.116.218.109:8080/scm/ddt/ddt-core-web

4999476..99ebceb
 master
    ->
origin/master

注意:默认情况下,git
fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名


取回远程主机的指定分支(git fetch 远程主机名
分支名)

E:\Git\ddt-core-web>git
fetch origin master

Password for
'http://01094711@10.116.218.109:8080':输入密码,回车

From
http://10.116.218.109:8080/scm/ddt/ddt-core-web

* branch
           master
    ->
FETCH_HEAD

例中意在取回orgin远程主机上名为master的分支


git check out

执行fetch命令,取回远程主机的更新后,便可使用git check
out命令来建立本地分支


git checkout -b -newbranch  []

创建新的分支并切换到新分支上去,b代表branch的意思,newbranch 是本地分支的名称,如果本地分支名已经存在,
则不需要“-b”选项。如果没有指定提交点(start_point),默认从HEAD指向的提交创建分支。


在指定分支的基础上,新建本地分支

E:\Git\ddt-core-web>git
checkout -b newBranch origin/master

Branch newBranch set up to track remote branch master from
origin.

Switched to a new branch 'newBranch'

以上命令的执行,会在origin/master的基础上,新建newBranch分支

说明:

1、创建本地分支并不会新建对应名称的文件夹;

2、新建分支后,会自动切换当前分支为新建的本地分支,如下

E:\Git\ddt-core-web>git branch -a

master

* newBranch

remotes/origin/HEAD ->
origin/master

remotes/origin/master

……

再新建一个本地分支newBranch2

E:\Git\ddt-core-web>git checkout -b newBranch2
origin/master

Branch newBranch2 set up to track remote branch master from
origin.

Switched to a new branch 'newBranch2'

E:\Git\ddt-core-web>git branch -a

master

newBranch

* newBranch2

……


切换当前分支为其它某个已存在分支(
git
checkout
 )

E:\Git\ddt-core-web>git checkout newBranch

Switched to branch 'newBranch'

Your branch is up-to-date with 'origin/master'.

E:\Git\ddt-core-web>git branch -a

master

* newBranch

……

参考连接:http://www.yiibai.com/git/git_fetch.html


git merge


在本地分支上合并
指定分支。

E:\Git\ddt-core-web>git
merge newBranch2

Already up-to-date.

以上命令的执行会把newBranch2分支合并到当前分支上

把origin/master分支合并到当前分支上

E:\Git\ddt-core-web>git merge origin/master

Already up-to-date.

参考连接:http://www.yiibai.com/git/git_fetch.html


git pull

git pull命令的作用是,取回远程主机某个分支的更新,再与本地的指定分支合并。


git pull <<font face="宋体">远程主机名> <</font>远程分支名>:<</font>本地分支名>

例,取回origin主机的master分支,与本地的newBranch分支合并

E:\Git\ddt-core-web>git
pull origin master:newBranch

Password for 'http://01094711@10.116.218.109:8080':

remote: Counting objects: 209, done.

remote: Compressing objects: 100% (177/177), done.

remote: Total 209 (delta 93), reused 0 (delta 0)

Receiving objects: 100% (209/209), 284.77 KiB | 0 bytes/s,
done.

Resolving deltas: 100% (93/93), completed with 38 local
objects.

From http://10.116.218.109:8080/scm/ddt/ddt-core-web

99ebceb..1ef1bd3
 master
    ->
newBranch

99ebceb..1ef1bd3
 master
    ->
origin/master

warning: fetch updated the current branch head.

fast-forwarding your working tree from

commit 99ebceb3a6430ef828f9fe8a4df6f4283ef35b99.

Already up-to-date.

取回origin/master分支,再与当前分支合并。实质上,这等同于先做git
fetch,再做git
merge。

git fetch origin

git merge origin/next


如果远程分支是与当前分支合并,则冒号后面的部分可以省略

E:\Git\ddt-core-web>git pull origin master

Password for 'http://01094711@10.116.218.109:8080':

From http://10.116.218.109:8080/scm/ddt/ddt-core-web

* branch
           master
    ->
FETCH_HEAD

Updating 4999476..1ef1bd3

Fast-forward

ddt-main/pom.xml
                                  |
  7 ++

.../java/com/sf/ddt/auth/action/AuthAction.java
   |
  4 +-

.../sf/ddt/express/action/SelfHelpDatasAction.java
|  28 +++----

……

在某些场合,Git会自动在本地分支与远程分支之间,建立一种追踪关系(tracking)。比如,在git clone的时候,所有本地分支默认与远程主机的同名分支,建立追踪关系,也就是说,本地的master分支自动”追踪”origin/master分支。

Git也允许手动建立追踪关系。

git branch --set-upstream master origin/next

上面命令指定master分支追踪origin/next分支。

如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名

E:\Git\ddt-core-web>git
pull origin

Password for 'http://01094711@10.116.218.109:8080':

Already up-to-date.

上面命令表示,取回当前分支与对应的origin主机”追踪分支”(remote-tracking
branch),与本地的当前分支进行合并。

如果当前分支只有一个追踪分支,连远程主机名都可以省略

E:\Git\ddt-core-web>git
pull

Password for 'http://01094711@10.116.218.109:8080':

Already up-to-date.

如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对应的本地分支。这是为了防止,由于其他人操作了远程主机,导致git
pull不知不觉删除了本地分支。但是,你可以改变这个行为,加上参数
-p 就会在本地删除远程已经删除的分支。

$ git pull -p

# 等同于下面的命令

$ git fetch --prune origin

$ git fetch -p


git pull --rebase

如果采用git rebase呢,git rebase命令会把你的当前分支里的每个提交(commit,上次
pull 之后的变更)取消掉,并且把它们临时保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后合并远程分支到当前分支,最后把保存的这些补丁应用到当前分支上

参考链接:

http://www.yiibai.com/git/git_pull.html

Git 常用命令及操作总结的更多相关文章

  1. git 常用命令行操作

    git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git   //下载一个master分支代码 g ...

  2. Git常用命令的操作

    Git命令 一.创建版本库 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使 ...

  3. git常用命令操作

    git常用命令 #查看配置 git config -l #查看系统config git config --system --list #查看当前用户(global)配置 git config --gl ...

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

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

  5. Git 常用命令详解

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

  6. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  7. Git常用命令总结

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

  8. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  9. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

随机推荐

  1. Python-OpenCV 图像叠加加权实现

    函数说明 cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) → dst 1 参数说明 src1 – first input ...

  2. JS中部分不常用小功能记录

    1.serializeArray()在表单中使用,必须在form标签中,需要手机的元素要有name属性.源生JS将对象转成json   resulrMK = JSON.stringify(resulr ...

  3. java模式—装饰者模式

    装饰者模式 1.意图: 动态地给一个对象添加一些额外的职责.就增加功能来说, Decorator模式相比生成子类更为灵活.该模式以对客 户端透明的方式扩展对象的功能. 2.适用环境 (1)在不影响其他 ...

  4. IdentityServer4(8)- 使用密码认证方式控制API访问(资源所有者密码授权模式)

    一.前言 本文已经更新到 .NET Core 2.2 OAuth 2.0 资源所有者密码模式允许客户端向令牌服务发送用户名和密码,并获取代表该用户的访问令牌. 除了通过无法浏览器进行交互的应用程序之外 ...

  5. Android布局中的空格以及占一个汉字宽度的空格,实现不同汉字字数对齐

    前言 在Android布局中进行使用到空格,以便实现文字的对齐.那么在Android中如何表示一个空格呢? 空格: (普通的英文半角空格但不换行) 窄空格:   (中文全角空格 (一个中文宽度))   ...

  6. leetcode — count-and-say

    import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * Source : https://o ...

  7. python练习六—简单的论坛

    进行简单的web应用之后,接下来就应该学习python连接数据库,这个练习就是在上个练习的基础上将信息保存到数据库,这个联系也没有什么特别的,有之前java web的经验的话,很好理解,主要还是一个M ...

  8. 最好用的编辑器之一:Vim-Go环境搭建

    本文由Librant发表 如果说在Linux环境下,什么编辑器最好用,如果我说是VIM,估计会有一大部分人嗤之以鼻,怎么可能.VIM可能是他用过众多编辑器最难用的一个.在我司用的是云虚拟机,说实话吧, ...

  9. 网络协议抓包分析——ARP地址解析协议

    前言 计算机之间可以相互通信的前提是要知道对方的地址,才可以发送信息给其他计算机,就像别人要联系你也得先知道你的电话号码一样.这里的地址因为网络分层的原因就包括IP地址和MAC地址(即网卡地址.硬件地 ...

  10. Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍   将图片翻译成文字一般被称为光学文字识别(Optical Character Recognition,OCR).可以实现OCR 的底层库并不多,目前很多库都是使用共同 ...