转自大神周沫凡:https://mofanpy.com/tutorials/others/git/
学习:
Git book:https://git-scm.com/book/zh/v2
目录
转自大神周沫凡:https://mofanpy.com/tutorials/others/git/
Git book:https://git-scm.com/book/zh/v2
1.Git介绍
Git 是一个分布式版本控制系统. 它的灵活性, 优越性使得它从2005年发布以来. 获得了越来越多的使用和支持.
Git官网:https://git-scm.com/
可以被Git管理的文件:
- 文本文件 (.txt) 等;
- 脚本文件 (.py) 等;
- 各种基于文本信息的文件.
不能被Git管理的文件:
- 图片文件 (.jpg) 等;
- MS word (.doc) 等.
2.Git安装
安装:https://morvanzhou.github.io/tutorials/others/git/1-2-install/
下载:https://git-scm.com/download/win
git在线阅读:在线阅读
高质量git中文教程:https://github.com/geeeeeeeeek/git-recipes
3.创建版本库
(打开要进行文件管理的文件夹)我们先要确定要把哪个文件夹里的文件进行管理. 比如说我桌面上的一个叫 gitTUT
的文件夹. 然后在 Terminal (Windows 的 git bash) 中把当前目录调到这个文件夹 gitTUT
$ cd ~/Desktop/gitTUT
(添加用户名,以方便让同伴知道是你在作修改)为了更好地使用 git, 我们同时也记录每一个施加修改的人. 这样人和修改能够对应上. 所以我们在 git 中添加用户名 user.name
和 用户 email user.email
:
$ git config --global user.name "Morvan Zhou"
$ git config --global user.email "mz@email.com"
(初始化git仓库中的必须文件)然后我们就能在这个文件夹中建立 git 的管理文件了。如果你打算使用Git来对现有的项目进行管理,你只需要进行该项目目录并输入:
$ git init
# Initialized empty Git repository in /Users/MorvanZhou/Desktop/gitTUT/.git/
(这个命令将创建一个名为.git的子目录,这个子目录含有你初始化Git仓库中所有的必须文件。)
因为这个文件夹中还没有任何的文件, 它返回出来一句话告诉我们已经建立了一个空的 git 管理库.
4.添加文件管理(add)
(查看文件)通常我们执行 $ ls
就能看到文件夹中的所有文件, 不过 git 创建的管理库文件 .git
是被隐藏起来的. 所以我们要执行这一句才能看到被隐藏的文件:
$ ls -a
# . .. .git
(新建文件)建立一个新的 1.py
文件(touch):
$ touch 1.py
(查看版本库状态)现在我们能用 status
来查看版本库的状态:
$ git status
# 输出
On branch master # 在 master 分支
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.py # 1.py 文件没有被加入版本库 (unstaged)
nothing added to commit but untracked files present (use "git add" to track)
现在 1.py
并没有被放入版本库中 (unstaged), 所以我们要使用 add
把它添加进版本库 (staged):
$ git add 1.py
# 再次查看状态 status
$ git status
# 输出
On branch master
Initial commit
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 1.py # 版本库已识别 1.py (staged)
如果想一次性添加文件夹中所有未被添加的文件, 可以使用这个:
$ git add .
5.提交改变(commit)
我们已经添加好了 1.py
文件, 最后一步就是提交这次的改变, 并在 -m
自定义这次改变的信息:
$ git commit -m "create 1.py"
# 输出
[master (root-commit) 6bd231e] create 1.py
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 1.py
git add:实现对指定文件的跟踪
commit:提交
note:add所有改变并直接commit:git commit -am “说明信息”
6.流程图
7.其它参考
还有一篇文章对git是干什么做了很通俗的说明,简明易懂:一个故事带你了解版本控制
https://zhuanlan.zhihu.com/p/94008510
主分支master 已实施,且不会删除(四面墙)
特新分支feature(客厅、厨房等)
git commit 保存到本地(提交时需要备注说明)
git push保存到存储库中的安全位置。获取提交并发送到分支的远程版本,该版本可以在线存储库中获得
(存储库:存储所有分支,就像是一个项目文件夹)
pull request 合并请求(至少有一人批准才可以)
merge conflicts 合并冲突(有人告诉它该保留谁的)
Git 能够复制代码并在不同版本上独立工作,这使它成为构建应用程序的任何人(甚至是单独工作的开发人员)的一个很好的选择,它使您有机会保留代码的多个版本,并跟踪每个更改的所有特征,比如谁做了更改以及何时做的更改。
以下是个人的简单操作记录,跳过即可。
实验记录:
点击Git.Bash
Administrator@PC201710130840 MINGW64 ~
$ cd F:
Administrator@PC201710130840 MINGW64 /f
$ cd Git
Administrator@PC201710130840 MINGW64 /f/Git
$ git config --global user.name"jinger" #设置名字
Administrator@PC201710130840 MINGW64 /f/Git
$ git config --global user.email"yu@email.com" #设置邮箱
Administrator@PC201710130840 MINGW64 /f/Git
$ git config user.name #查看名字
jinger
Administrator@PC201710130840 MINGW64 /f/Git
$ git config user.email #查看邮箱
yu@email.com
Administrator@PC201710130840 MINGW64 /f/Git
$ git init #初始化
Initialized empty Git repository in F:/Git/.git/
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ ls -a #查看文件夹文件
./ ../ .git/
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ touch 1.py #创建1.py
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ git status #查看状态:此时处于Untracked态
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
1.py
nothing added to commit but untracked files present (use "git add" to track)
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ git add 1.py #add 1.py
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ git status #查看状态:此时处于staged态
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: 1.py
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ git commit -m "create 1.py" #提交(commit)1.py
[master (root-commit) 434a45c] create 1.py
1 file changed, 1 insertion(+)
create mode 100644 1.py
Administrator@PC201710130840 MINGW64 /f/Git (master)
$ git status #查看状态:此时处于Unmodified态
On branch master
nothing to commit, working tree clean
若要修改用户名,和定义时一样的方法就可以了。
总结:
- git中如何添加用户名和邮箱
- init、add、touch、commit、status指令的使用