Content-Length: 1080020 | pFad | http://github.com/amdfansheng/fullstackpython.com/commit/2dbde856131cd8b58cddac1947e1b725265ff56b

0C rearranging some ch 2 pages · amdfansheng/fullstackpython.com@2dbde85 · GitHub
Skip to content

Commit 2dbde85

Browse files
committed
rearranging some ch 2 pages
1 parent b4069c1 commit 2dbde85

12 files changed

+200
-40
lines changed

content/pages/02-development-environments/08-git.markdown

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ developers. The following tutorials can quickly get you up to speed.
3131
but want to go deeper in understanding what each command does under the
3232
covers instead of simply using the tool as a black box.
3333

34+
* [Think like a Git](http://think-like-a-git.net/) is another introduction
35+
that focuses more on the graph theory and conceptual ideas behind Git
36+
to help the reader understand what's happening as they use Git commands.
37+
3438
* [Git and GitHub in plain English](https://red-badger.com/blog/2016/11/29/gitgithub-in-plain-english)
3539
is a high-level overview of both Git and GitHub. This guide is intended
3640
for both non-programmers and junior developers who want to learn everything
@@ -52,6 +56,10 @@ developers. The following tutorials can quickly get you up to speed.
5256
[practical git introduction](http://marc.helbling.fr/2014/09/practical-git-introduction)
5357
is rich with pragmatic examples for Git usage.
5458

59+
* [git ready](http://gitready.com/) presents beginner, intermediate and
60+
advanced tips for how to use Git. The example commands and their results
61+
are great for learning Git piece-by-piece.
62+
5563

5664
## Specific Git resources
5765
Large tutorials are great for getting started with Git. However, sometimes
@@ -117,6 +125,10 @@ workflow. These resources will come in handy for specific Git subjects.
117125
you should check out some of the interesting solutions the author
118126
presents.
119127

128+
* [Better Git configuration](https://blog.scottnonnenberg.com/better-git-configuration/)
129+
explains global config options, revisions and merging along with several
130+
other commands that can be customized to your taste.
131+
120132

121133
## Git Workflows
122134
Teams of developers can use Git in varying workflows because of Git's

content/pages/02-development-environments/11-environment-configuration.markdown renamed to content/pages/02-development-environments/15-environment-configuration.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Environment configuration
22
category: page
33
slug: environment-configuration
4-
sortorder: 0211
4+
sortorder: 0215
55
toc: False
66
sidebartitle: Environment configuration
77
meta: Configuring a dev, test or production environment is important to successfully run a Python application.

content/pages/02-development-environments/13-application-dependencies.markdown renamed to content/pages/02-development-environments/16-application-dependencies.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Application Dependencies
22
category: page
33
slug: application-dependencies
4-
sortorder: 0213
4+
sortorder: 0216
55
toc: False
66
sidebartitle: Application Dependencies
77
meta: Python web applications depend on many code libraries. Learn more about application dependencies on Full Stack Python.

content/pages/02-development-environments/07-source-control.markdown renamed to content/pages/02-development-environments/21-source-control.markdown

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Source Control
22
category: page
33
slug: source-control
4-
sortorder: 0207
4+
sortorder: 0221
55
toc: False
66
sidebartitle: Source Control
77
meta: Source control versions and backs up code for when programming problems occur. Learn more about source control on Full Stack Python.
@@ -63,7 +63,8 @@ today's Python development world. The two primary choices are:
6363

6464
## Hosted source control services
6565
Git and Mercurial can be downloaded and run on your own server. However,
66-
it's easy and cheap to get started with a hosted version control service.
66+
it's easy and cheap to get started with a
67+
[hosted version control service](/hosted-source-control-services.html).
6768
You can transition away from the service at a later time by moving your
6869
repositories if your needs change. A couple of recommended hosted version
6970
control services are:
@@ -109,33 +110,23 @@ control services are:
109110
* [About version control](http://git-scm.com/book/en/Getting-Started-About-Version-Control)
110111
reviews the basics of distributed version control systems.
111112

113+
* [Monorepo, Manyrepo, Metarepo](http://notes.burke.libbey.me/metarepo/)
114+
is an awesome guide to varying ways of structuring your source repositories
115+
that contain more than one project. The guide covers advantages and
116+
disadvantages of common approaches used in both small and large
117+
organizations.
112118

113-
## Git resources
114-
The following resources provide a good start for developers new to source
115-
control and Git. There is also an
116-
[entire page on using Git with Python](/git.html) with many more links
117-
sorted by categories such as solving tactical issues and Git workflows.
119+
* [In which I discuss Monorepos](https://storify.com/samnewman/in-which-i-discuss-monorepos)
120+
provides detail behind a series of tweets that explains source control
121+
monorepos.
118122

119-
* [Git in Six Hundred Words](http://maryrosecook.com/blog/post/git-in-six-hundred-words)
120-
is a clear and concise essay explaining the fundamental concepts of
121-
Git.
122123

123-
* [A Hacker's Guide to Git](http://wildlyinaccurate.com/a-hackers-guide-to-git)
124-
covers the basics as well as more advanced Git commands while explaining each
125-
step along the way.
126-
127-
* [Think like a Git](http://think-like-a-git.net/) is another introduction
128-
that focuses more on the graph theory and conceptual ideas behind Git
129-
to help the reader understand what's happening as they use Git commands.
130-
131-
* [A practical git introduction](http://mrchlblng.me/2014/09/practical-git-introduction/)
132-
is exactly what the title says it is. This is a well written guide with
133-
plenty of code snippets to get you up to speed with Git.
134-
135-
* [Git from the inside out](https://codewords.recurse.com/issues/two/git-from-the-inside-out)
136-
demonstrates how Git's graph-based data structure produces certain behavior
137-
through example Git commands. This is a highly recommended read after you've
138-
grasped the basics and are looking to go deeper with Git.
124+
### Git
125+
[Git](/git.html) is the most widely-used source control system currently
126+
in use. Its distributed design eliminates the need to check files in
127+
and out of a centralized repository, which is a problem when using
128+
[Subversion](/apache-subversion.html) without a network connection. There is
129+
[a full page on Git](/git.html) with further details and resources.
139130

140131

141132
## Source control learning checklist
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
title: Git
2+
category: page
3+
slug: git
4+
sortorder: 0222
5+
toc: False
6+
sidebartitle: Git
7+
meta: Git is an implementation of the source (version) control concept. Learn more about Git and source control on Full Stack Python.
8+
9+
10+
# Git
11+
[Git](https://git-scm.com/) is a distributed open source
12+
[source control](/source-control.html) (also referred to as "version
13+
control") system commonly used to track and manage file changes. Git is
14+
frequently used as the version control system for Python projects.
15+
16+
<a href="https://git-scm.com/" style="border: none;"><img src="/img/logos/git.png" width="100%" alt="Official Git logo." class="technical-diagram"></a>
17+
18+
<div class="well see-also">Git is an implementation of the <a href="/source-control.html">source control</a> concept. Learn how these pieces fit together in the <a href="/development-environments.html">development environments</a> chapter or view the <a href="/table-of-contents.html">table of contents</a> for all topics.</div>
19+
20+
21+
## Git tutorials
22+
Git can take awhile to wrap your head around, even for experienced software
23+
developers. The following tutorials can quickly get you up to speed.
24+
25+
* The [official Pro Git](https://git-scm.com/book/en/v2) book is available
26+
online for free. It is awesome both as a step-by-step walkthrough and as
27+
a bookmarked reference on specific topics.
28+
29+
* [Git from the inside out](https://codewords.recurse.com/issues/two/git-from-the-inside-out)
30+
provides a spectacular walkthrough for developers who have used Git before
31+
but want to go deeper in understanding what each command does under the
32+
covers instead of simply using the tool as a black box.
33+
34+
* [Think like a Git](http://think-like-a-git.net/) is another introduction
35+
that focuses more on the graph theory and conceptual ideas behind Git
36+
to help the reader understand what's happening as they use Git commands.
37+
38+
* [Git and GitHub in plain English](https://red-badger.com/blog/2016/11/29/gitgithub-in-plain-english)
39+
is a high-level overview of both Git and GitHub. This guide is intended
40+
for both non-programmers and junior developers who want to learn everything
41+
from terminology to workflow.
42+
43+
* [A Hacker's Guide to Git](http://wildlyinaccurate.com/a-hackers-guide-to-git)
44+
is a free ebook written for experienced developers that contains both
45+
the syntax and the conceptual ideas behind how Git works.
46+
47+
* [A Designer's Guide to Git](https://blog.marvelapp.com/designers-guide-git/)
48+
gives a beginner's Git overview for non-programmers. The tutorial also
49+
covers using Git clients such as the GitHub desktop application.
50+
51+
* [Git in Six Hundred Words](http://maryrosecook.com/blog/post/git-in-six-hundred-words)
52+
is a concise essay explaining what happens when you add and commit files
53+
in a Git repository.
54+
55+
* A
56+
[practical git introduction](http://marc.helbling.fr/2014/09/practical-git-introduction)
57+
is rich with pragmatic examples for Git usage.
58+
59+
60+
## Specific Git resources
61+
Large tutorials are great for getting started with Git. However, sometimes
62+
you need tactical support or want to learn new tricks to add to your
63+
workflow. These resources will come in handy for specific Git subjects.
64+
65+
* [How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/)
66+
provides strong advice that will help you write consistent, concise and
67+
contextual messages on your commits. Commit messages are especially
68+
important when working with others on a long-lasting project where you
69+
dive through the commit history via `git log` and related commands.
70+
71+
* [Oh shit, Git!](http://ohshitgit.com/) is a profanity-filled description
72+
of tips to get you out of binds you may find yourself in when you get too
73+
tricky with Git commands.
74+
75+
* [Phil Nash](https://philna.sh/) shows how to use the `git reflog` command
76+
in [Git back to the future](https://philna.sh/blog/2017/01/04/git-back-to-the-future/).
77+
78+
* [Another Git catastrophe cleaned up](http://blog.plover.com/prog/git-tastrophe.html)
79+
goes through a difficult merge scenario that required deep Git
80+
understanding to properly fix.
81+
82+
* Erlang's source code provides a concise explanation on
83+
[writing good commit messages](https://github.com/erlang/otp/wiki/Writing-good-commit-messages)
84+
that any programming ecosystem can learn from.
85+
86+
* [GitTips](https://git.wiki.kernel.org/index.php/GitTips) is a list of
87+
pro tips to clean up common issues and how to dive through Git history
88+
to find specific text.
89+
90+
* [19 Tips For Everyday Git Use](http://www.alexkras.com/19-git-tips-for-everyday-use/)
91+
is a laundry list of helpful Git tips on commands such as `git bisect`,
92+
`git stash` and `git difftool`.
93+
94+
* Git allows command aliasing, which allowed one developer to create his
95+
own list of [lesser known Git commands](https://hackernoon.com/lesser-known-git-commands-151a1918a60)
96+
that alias more complicated Git lines.
97+
98+
* [Little things I like to do with Git](https://csswizardry.com/2017/05/little-things-i-like-to-do-with-git/)
99+
has some nice tips such as easily viewing branches you recently worked
100+
on and generating a changelog from your commits.
101+
102+
* [Git from the inside out](https://codewords.recurse.com/issues/two/git-from-the-inside-out)
103+
demonstrates how Git's graph-based data structure produces certain behavior
104+
through example Git commands. This is a highly recommended read after you've
105+
grasped the basics and are looking to go deeper with Git.
106+
107+
* [How To Host Your Own Private Git Repositories](https://eklitzke.org/how-to-how-your-own-private-git-repositories)
108+
provides the steps for handling private Git repositories on your own
109+
server. This setup is great for either mirroring GitHub repositories
110+
or just getting away from hosted services entirely.
111+
112+
* [How I configure my git in a new computer](https://medium.com/@Tiagojdferreira/how-i-set-up-my-git-in-a-new-computer-85bb461b089f)
113+
shows how to handle a `.gitconfig` file, with
114+
[an example Gist](https://gist.github.com/Tiagojdferreira/115ecac229e176e48d520c59b022e4fb)
115+
that the author uses for his own environment.
116+
117+
* [How to Quickly and Correctly Generate a Git Log in HTML](http://www.oilshell.org/blog/2017/09/19.html)
118+
is an interesting look at how string processing on \*nix systems works
119+
by generating an HTML page from a Git log. If you need to output your
120+
Git commits somewhere and are having trouble writing your own script
121+
you should check out some of the interesting solutions the author
122+
presents.
123+
124+
125+
## Git Workflows
126+
Teams of developers can use Git in varying workflows because of Git's
127+
distributed model and lightweight branching. There is no "right way" to
128+
use Git, especially because development teams can range in size from a
129+
single developer up to entire companies with thousands of developers in
130+
a repository. The only correct answer is to let the developers decide on
131+
a workflow that maximizes their ability to frequently commit code and
132+
minimize merge conflicts.
133+
134+
* [git-flow](http://nvie.com/posts/a-successful-git-branching-model/) shows
135+
one possible way for small teams to use Git branches.
136+
[GitHub Flow](http://scottchacon.com/2011/08/31/github-flow.html) explains
137+
why at GitHub they do not use the git-flow model and provides an
138+
alternative that solves some of the issues they found with git-flow.
139+
140+
* [Git Workflows That Work](http://blog.endpoint.com/2014/05/git-workflows-that-work.html)
141+
is a helpful post with diagrams to show how teams can create a Git workflow
142+
that will help their development process.
143+
144+
* "[Our Git Workflow](http://www.braintreepaymentsolutions.com/devblog/our-git-workflow)"
145+
by Braintree goes over how this payments company uses Git for development
146+
and merging source code.
147+

content/pages/02-development-environments/09-mercurial.markdown renamed to content/pages/02-development-environments/23-mercurial.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Mercurial
22
category: page
33
slug: mercurial
4-
sortorder: 0209
4+
sortorder: 0223
55
toc: False
66
sidebartitle: Mercurial
77
meta: Mercurial is an implementation of the source (version) control concept. Learn more Full Stack Python.

content/pages/02-development-environments/10-subversion.markdown renamed to content/pages/02-development-environments/24-subversion.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Apache Subversion
22
category: page
33
slug: apache-subversion
4-
sortorder: 0210
4+
sortorder: 0224
55
toc: False
66
sidebartitle: Apache Subversion
77
meta: Apache Subversion is an implementation of the source (version) control concept and is often used with Python code.

content/pages/02-development-environments/17-hosted-version-control.markdown renamed to content/pages/02-development-environments/25-hosted-version-control.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: Hosted Source Control Services
22
category: page
33
slug: hosted-source-control-services
4-
sortorder: 0217
4+
sortorder: 0225
55
toc: False
66
sidebartitle: Hosted Source Control
77
meta: Hosted source control (also known as version control) services are useful for backing up and collorating on software projects.

content/pages/02-development-environments/18-github.markdown renamed to content/pages/02-development-environments/26-github.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: GitHub
22
category: page
33
slug: github
4-
sortorder: 0218
4+
sortorder: 0226
55
toc: False
66
sidebartitle: GitHub
77
meta: GitHub is a software-as-a-service platform that provides a user interface, tools and backup for Git projects.

content/pages/02-development-environments/19-bitbucket.markdown renamed to content/pages/02-development-environments/27-bitbucket.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: BitBucket
22
category: page
33
slug: bitbucket
4-
sortorder: 0219
4+
sortorder: 0227
55
toc: False
66
sidebartitle: BitBucket
77
meta: BitBucket is Atlassian's software-as-a-service tool with a user interface, tools and backup for Git projects.

content/pages/02-development-environments/20-gitlab.markdown renamed to content/pages/02-development-environments/28-gitlab.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
title: GitLab
22
category: page
33
slug: gitlab
4-
sortorder: 0220
4+
sortorder: 0228
55
toc: False
66
sidebartitle: GitLab
77
meta: GitLab is a software-as-a-service platform that provides tools and backup for Git repositories.

theme/templates/table-of-contents.html

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,7 @@ <h4 class="toc-subsection">7.7 <a href="/static-site-generator.html">Static site
187187

188188
<h4 class="toc-subsection">7.8 <span class="soon">Networking</span></h4>
189189
<div class="toc"><a href="/websockets.html">WebSockets</a></div>
190+
<div class="toc soon">WebRTC</div>
190191
<div class="toc"><a href="/uvloop.html">uvloop</a></div>
191192

192193

@@ -210,7 +211,8 @@ <h4 class="toc-subsection">8.2 <a href="/virtual-private-servers-vps.html">Virtu
210211
<h4 class="toc-subsection">8.3 <a href="/platform-as-a-service.html">Platform-as-a-Service</a></h4>
211212
<div class="toc soon">Heroku</div>
212213
<div class="toc soon">PythonAnywhere</div>
213-
<div class="toc soon">Elastic Beanstalk</div>
214+
<div class="toc soon">Codestar</div>
215+
<div class="toc soon">Google App Engine</div>
214216

215217
<h4 class="toc-subsection">8.4 <a href="/operating-systems.html">Operating systems</a></h4>
216218
<div class="toc"><a href="/ubuntu.html">Ubuntu Linux</a></div>
@@ -222,27 +224,35 @@ <h4 class="toc-subsection">8.5 <a href="/web-servers.html">Web servers</a></h4>
222224
<div class="toc"><a href="/apache-http-server.html">Apache HTTP Server</a></div>
223225
<div class="toc"><a href="/nginx.html">Nginx</a></div>
224226
<div class="toc"><a href="/caddy.html">Caddy</a></div>
227+
<div class="toc soon">Lighttpd</div>
225228

226229
<h4 class="toc-subsection">8.6 <a href="/wsgi-servers.html">WSGI servers</a></h4>
227230
<div class="toc"><a href="/green-unicorn-gunicorn.html">Green Unicorn</a></div>
228231
<div class="toc soon">mod_wsgi</div>
229232
<div class="toc soon">uWSGI</div>
233+
<div class="toc soon">Waitress</div>
230234

231235
<h4 class="toc-subsection">8.7 <a href="/continuous-integration.html">Continuous integration</a></h4>
232236
<div class="toc"><a href="/jenkins.html">Jenkins</a></div>
233237
<div class="toc soon">GoCD</div>
234238
<div class="toc soon">BuildBot</div>
235239

236-
<h4 class="toc-subsection">8.8 <a href="/configuration-management.html">Configuration management</a></h4>
240+
<h4 class="toc-subsection">8.8 <span class="soon">Hosted Continuous Integration</span></h4>
241+
<div class="toc soon">CircleCI</div>
242+
<div class="toc soon">Codeship</div>
243+
<div class="toc soon">Semaphore</div>
244+
<div class="toc soon">Travis CI</div>
245+
246+
<h4 class="toc-subsection">8.9 <a href="/configuration-management.html">Configuration management</a></h4>
237247
<div class="toc soon">Ansible</div>
238248
<div class="toc soon">Salt</div>
239249
<div class="toc soon">Fabric</div>
240250

241-
<h4 class="toc-subsection">8.9 <span class="soon">Containers</span></h4>
242-
<div class="toc"><a href="/docker.html">Docker</a></div>
243-
<div class="toc soon">Kubernetes</div>
251+
<h4 class="toc-subsection">8.10 <span class="soon">Containers</span></h4>
252+
<div class="toc two-digit-subsection"><a href="/docker.html">Docker</a></div>
253+
<div class="toc two-digit-subsection soon">Kubernetes</div>
244254

245-
<h4 class="toc-subsection">8.10 <a href="/serverless.html">Serverless Architectures</a></h4>
255+
<h4 class="toc-subsection">8.11 <a href="/serverless.html">Serverless Architectures</a></h4>
246256
<div class="toc two-digit-subsection"><a href="/aws-lambda.html">AWS Lambda</a></div>
247257
<div class="toc soon two-digit-subsection">Twilio Functions</div>
248258
<div class="toc soon two-digit-subsection">Azure Functions</div>

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/amdfansheng/fullstackpython.com/commit/2dbde856131cd8b58cddac1947e1b725265ff56b

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy