一:创建本地仓库:
1:进入目录 2:使用命令:git init
ubuntu@python:~$ cd Desktop/
ubuntu@python:~/Desktop$ ls
git_practice PyMySQL-0.7.11-py2.py3-none-any.whl stock_db.sql
navicat python_test_1.sql 课堂笔记-1-参考.sql
pycharm.desktop redis 终极复习
ubuntu@python:~/Desktop$ cd git_practice/
ubuntu@python:~/Desktop/git_practice$ git init
已初始化空的 Git 仓库于 /home/ubuntu/Desktop/git_practice/.git/
ubuntu@python:~/Desktop/git_practice$ ls -a
. .. .git
二:配置个人信息:
ubuntu@python:~/Desktop/git_practice$ git config user.name "renshanwen"
ubuntu@python:~/Desktop/git_practice$ git config user.email "1173714240@qq.com"
查看配置信息
ubuntu@python:~/Desktop/git_practice$ cd .git
ubuntu@python:~/Desktop/git_practice/.git$ ls -a
. .. branches config description HEAD hooks info objects refs
ubuntu@python:~/Desktop/git_practice/.git$ cat config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
name = renshanwen
email = 1173714240@qq.com
三:新建文件,查看文件状态,将文件推送到暂存区,再次查看文件状态:
注意:没有到缓存区的文件是红色的,推送到缓存区文件是绿色的。
ubuntu@python:~/Desktop/git_practice/.git$ cd ../
ubuntu@python:~/Desktop/git_practice$ touch test.py
ubuntu@python:~/Desktop/git_practice$ ls
test.py
ubuntu@python:~/Desktop/git_practice$ git status
位于分支 master
尚无提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
test.py
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
ubuntu@python:~/Desktop/git_practice$ git add .
ubuntu@python:~/Desktop/git_practice$ git status
位于分支 master
尚无提交
要提交的变更:
(使用 "git rm --cached <文件>..." 以取消暂存)
新文件: test.py
ubuntu@python:~/Desktop/git_practice$
四:将暂存区文件提交到仓库,然后查看历史版本:
ubuntu@python:~/Desktop/git_practice$ git commit -m '这是任善文第一次提交到本地仓库'
[master (根提交) 46113db] 这是任善文第一次提交到本地仓库
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test.py
ubuntu@python:~/Desktop/git_practice$ git log
commit 46113dbc4ebde6709ce0262384a5f65f3f89c0ab (HEAD -> master)
Author: renshanwen <1173714240@qq.com>
Date: Mon Aug 24 17:17:52 2020 +0800
这是任善文第一次提交到本地仓库
五:更改文件内容,然后再次提交到缓存,并且提交到仓库。再次查看历史版本。
ubuntu@python:~/Desktop/git_practice$ vim test.py
ubuntu@python:~/Desktop/git_practice$ git add .
ubuntu@python:~/Desktop/git_practice$ git commit -m "这是任善文第二次提交到本地仓库"
[master 57ecff8] 这是任善文第二次提交到本地仓库
1 file changed, 6 insertions(+)
ubuntu@python:~/Desktop/git_practice$ git log
commit 57ecff8643b8796b123a254a3fc31e053c3f8fb6 (HEAD -> master)
Author: renshanwen <1173714240@qq.com>
Date: Mon Aug 24 17:23:13 2020 +0800
这是任善文第二次提交到本地仓库
commit 46113dbc4ebde6709ce0262384a5f65f3f89c0ab
Author: renshanwen <1173714240@qq.com>
Date: Mon Aug 24 17:17:52 2020 +0800
这是任善文第一次提交到本地仓库
六:回退版本:回退到上个版本
1:第一种方式:
HEAD表示当前最新版本
HEAD^表示当前最新版本的前一个版本
HEAD^^表示当前最新版本的前两个版本,以此类推…
HEAD~1表示当前最新版本的前一个版本
HEAD~10表示当前最新版本的前10个版本,以此类推…
ubuntu@python:~/Desktop/git_practice$ git reset --hard HEAD^
HEAD 现在位于 46113db 这是任善文第一次提交到本地仓库
2:第二种方式:通过版本号回退到任何一个版本。
git reset --hard 版本号
注意:git log 与 git reflog 的区别:git log不能查看比当前版本高的版本信息。
ubuntu@python:~/Desktop/git_practice$ git reflog
46113db (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
57ecff8 HEAD@{1}: commit: 这是任善文第二次提交到本地仓库
46113db (HEAD -> master) HEAD@{2}: commit (initial): 这是任善文第一次提交到本地仓库
ubuntu@python:~/Desktop/git_practice$ git log
commit 46113dbc4ebde6709ce0262384a5f65f3f89c0ab (HEAD -> master)
Author: renshanwen <1173714240@qq.com>
Date: Mon Aug 24 17:17:52 2020 +0800
这是任善文第一次提交到本地仓库
案例:回退到第二个版本:
ubuntu@python:~/Desktop/git_practice$ git reset --hard 57ecff8
HEAD 现在位于 57ecff8 这是任善文第二次提交到本地仓库
七:撤销和修改操作:
只能撤销工作区、暂存区的代码,不能撤销仓库区的代码
撤销仓库区的代码就相当于回退版本操作
1:撤销工作区的代码:git checkout 文件名
2:撤销暂存区代码:
第一步:git reset HEAD 文件名 (暂存区撤销到工作区)
第二步:git checkout 文件名(撤销工作区)
案例:1:在test.py加入“我是牛牛”,然后撤销,再次查看。
git checkout test.py
案例2:再次修改文件,然后提交到暂存区,然后执行两次操作。
ubuntu@python:~/Desktop/git_practice$ vim test.py
ubuntu@python:~/Desktop/git_practice$ git add .
ubuntu@python:~/Desktop/git_practice$ git reset HEAD test.py
重置后取消暂存的变更:
M test.py
ubuntu@python:~/Desktop/git_practice$ git checkout test.py
ubuntu@python:~/Desktop/git_practice$