File: git-force-clone.html

package info (click to toggle)
git-extras 7.4.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 2,120 kB
  • sloc: sh: 4,312; python: 994; makefile: 146
file content (143 lines) | stat: -rw-r--r-- 5,519 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv='content-type' content='text/html;charset=utf8'>
  <meta name='generator' content='Ronn-NG/v0.9.1 (http://github.com/apjanke/ronn-ng/tree/0.9.1)'>
  <title>git-force-clone(1) - overwrite local repositories with clone</title>
  <style type='text/css' media='all'>
  /* style: man */
  body#manpage {margin:0}
  .mp {max-width:100ex;padding:0 9ex 1ex 4ex}
  .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0}
  .mp h2 {margin:10px 0 0 0}
  .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex}
  .mp h3 {margin:0 0 0 4ex}
  .mp dt {margin:0;clear:left}
  .mp dt.flush {float:left;width:8ex}
  .mp dd {margin:0 0 0 9ex}
  .mp h1,.mp h2,.mp h3,.mp h4 {clear:left}
  .mp pre {margin-bottom:20px}
  .mp pre+h2,.mp pre+h3 {margin-top:22px}
  .mp h2+pre,.mp h3+pre {margin-top:5px}
  .mp img {display:block;margin:auto}
  .mp h1.man-title {display:none}
  .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143}
  .mp h2 {font-size:16px;line-height:1.25}
  .mp h1 {font-size:20px;line-height:2}
  .mp {text-align:justify;background:#fff}
  .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211}
  .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201}
  .mp u {text-decoration:underline}
  .mp code,.mp strong,.mp b {font-weight:bold;color:#131211}
  .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none}
  .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff}
  .mp b.man-ref {font-weight:normal;color:#434241}
  .mp pre {padding:0 4ex}
  .mp pre code {font-weight:normal;color:#434241}
  .mp h2+pre,h3+pre {padding-left:0}
  ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px}
  ol.man-decor {width:100%}
  ol.man-decor li.tl {text-align:left}
  ol.man-decor li.tc {text-align:center;letter-spacing:4px}
  ol.man-decor li.tr {text-align:right;float:right}
  </style>
</head>
<!--
  The following styles are deprecated and will be removed at some point:
  div#man, div#man ol.man, div#man ol.head, div#man ol.man.

  The .man-page, .man-decor, .man-head, .man-foot, .man-title, and
  .man-navigation should be used instead.
-->
<body id='manpage'>
  <div class='mp' id='man'>

  <div class='man-navigation' style='display:none'>
    <a href="#NAME">NAME</a>
    <a href="#SYNOPSIS">SYNOPSIS</a>
    <a href="#DESCRIPTION">DESCRIPTION</a>
    <a href="#PROCESS">PROCESS</a>
    <a href="#OPTIONS">OPTIONS</a>
    <a href="#EXAMPLES">EXAMPLES</a>
    <a href="#AUTHOR">AUTHOR</a>
    <a href="#REPORTING-BUGS">REPORTING BUGS</a>
    <a href="#SEE-ALSO">SEE ALSO</a>
  </div>

  <ol class='man-decor man-head man head'>
    <li class='tl'>git-force-clone(1)</li>
    <li class='tc'>Git Extras</li>
    <li class='tr'>git-force-clone(1)</li>
  </ol>

  

<h2 id="NAME">NAME</h2>
<p class="man-name">
  <code>git-force-clone</code> - <span class="man-whatis">overwrite local repositories with clone</span>
</p>
<h2 id="SYNOPSIS">SYNOPSIS</h2>

<p><code>force-clone --help</code><br>
<code>force-clone {remote_url} {destination_path}</code><br>
<code>force-clone --branch {branch_name} {remote_url} {destination_path}</code></p>

<h2 id="DESCRIPTION">DESCRIPTION</h2>

<p>Provides the basic functionality of <code>git clone</code>, but if the destination git
repository already exists it will force-reset it to resemble a clone of the
remote.</p>

<p>Because it doesn't actually delete the directory, it is usually significantly
faster than the alternative of deleting the directory and cloning the
repository from scratch.</p>

<p><strong>CAUTION</strong>: If the repository exists, this will destroy <em>all</em> local work:
changed files will be reset, local branches and other remotes will be removed.</p>

<h2 id="PROCESS">PROCESS</h2>

<p>If <code>target-directory</code> doesn't exist or isn't a git repository then the
arguments will simply be passed through to <code>git clone</code>.</p>

<p>If <code>target-directory</code> exists and is a git repository then this will:</p>

<ul>
  <li>Remove all remotes</li>
  <li>Set the origin remote to <code>{remote_url}</code> and fetch the remote</li>
  <li>Discover the default branch, if no branch was specified</li>
  <li>Check out the selected branch</li>
  <li>Delete all other local branches</li>
</ul>

<h2 id="OPTIONS">OPTIONS</h2>

<p><code>{remote_url}</code> - The URL for a git remote repository of which to make a clone.
<code>{destination_path}</code> - A path to the local git repository location to clone into.
<code>--branch {branch_name}</code> - After cloning, checkout this branch.</p>

<h2 id="EXAMPLES">EXAMPLES</h2>

<p><code>git-force-clone -b master git@github.com:me/repo.git ./repo_dir</code></p>

<h2 id="AUTHOR">AUTHOR</h2>

<p>Written by Robin Winslow <a href="mailto:robin@robinwinslow.co.uk" data-bare-link="true">robin@robinwinslow.co.uk</a>.</p>

<h2 id="REPORTING-BUGS">REPORTING BUGS</h2>

<p><a href="https://github.com/tj/git-extras/issues" data-bare-link="true">https://github.com/tj/git-extras/issues</a></p>

<h2 id="SEE-ALSO">SEE ALSO</h2>

<p><a href="https://github.com/tj/git-extras" data-bare-link="true">https://github.com/tj/git-extras</a></p>

  <ol class='man-decor man-foot man foot'>
    <li class='tl'></li>
    <li class='tc'>August 2021</li>
    <li class='tr'>git-force-clone(1)</li>
  </ol>

  </div>
</body>
</html>