[root@server4 demo]# yum install -y git
[root@server4 demo]# l.
. …
[root@server4 demo]# git init##初始化
Initialized empty Git repository in /root/demo/.git/
[root@server4 demo]# l.##git初始化完成
. … .git
[root@server4 demo]# cd .git/
[root@server4 .git]# ls
branches config description HEAD hooks info objects refs
[root@server4 .git]# cd …
[root@server4 demo]# vim readme.txt##创建文件
[root@server4 demo]# git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# readme.txt
nothing added to commit but untracked files present (use "git add" to track)
[root@server4 demo]# git status -s##两个问号表示为加入缓存区
?? readme.txt
[root@server4 demo]# git add readme.txt ##添加到临时缓存区
[root@server4 demo]# git status -s
A readme.txt##A表示添加到临时缓存区
[root@server4 demo]# git commit##提交失败,因为时第一次提交,需要设置邮箱与用户
*** Please tell me who you are.
Run
git config --global user.email “you@example.com”
git config --global user.name “Your Name”
to set your account’s default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got ‘root@server4.(none)’)
[root@server4 demo]# git config --global user.email "cn@qq.com"##设置邮箱
[root@server4 demo]# git config --global user.name "cn"##设置姓名
[root@server4 demo]# git status -s
A readme.txt
[root@server4 demo]# git commit -m “add readme,txt”##commit -m表示提交临时缓存到永久缓存区域中
[master (root-commit) bba1bf1] add readme,txt
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
[root@server4 demo]# git status -s##查看状态,若没有任何显示则表示添加成功
[root@server4 demo]# ls
readme.txt
[root@server4 demo]# vim readme.txt
[root@server4 demo]# git status -s##对以提交的文件编辑会进行跟踪(M出现在右边)
M readme.txt
[root@server4 demo]# git add readme.txt ##再次提交
[root@server4 demo]# git status -s
M readme.txt
[root@server4 demo]# vim readme.txt ##提交后继续编辑会继续出现一个M
[root@server4 demo]# git status -s
MM readme.txt
[root@server4 demo]# git add readme.txt ##提交到临时区域后左边M取消
[root@server4 demo]# git status -s
M readme.txt
[root@server4 demo]# git commit
Aborting commit due to empty commit message.
[root@server4 demo]# git commit -m "add readme.tx"
[master 1a3ab33] add readme.tx
1 file changed, 3 insertions(+)
[root@server4 demo]# git commit
# On branch master
nothing to commit, working directory clean
[root@server4 demo]# git status -s##永久提交后M消失
[root@server4 demo]# ls
readme.txt
查看仓库文件版本
[root@server4 demo]# git log
commit 1a3ab33ede0474112576f36919d515af46dcbe7b
Author: cn <cn@qq.com>
Date: Fri Aug 16 14:33:30 2019 +0800
add readme.tx
commit bba1bf1ca2febeb1ce88977abefeabf971e97b81
Author: cn <cn@qq.com>
Date: Fri Aug 16 14:30:43 2019 +0800
add readme,txt
查看历史命令来确定回退版本
[root@server4 demo]# git reflog
1a3ab33 HEAD@{0}: commit: add readme.tx
bba1bf1 HEAD@{1}: commit (initial): add readme,txt
撤销
[root@server4 demo]# git status -s
?? .cn
[root@server4 demo]# vim .gitignore
[root@server4 demo]# cat .gitignore
.*
[root@server4 demo]# git status -s
[root@server4 demo]#
撤销修改
[root@server4 demo]# vim readme.txt (删除了一行readme)
[root@server4 demo]# git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
[root@server4 demo]# git checkout -- readme.txt
[root@server4 demo]# cat readme.txt (又恢复到了四行)
readme
readme
readme
readme
[root@server4 demo]# vim readme.txt
[root@server4 demo]# cat readme.txt
readme
readme
readme
aini1wannian
[root@server4 demo]# git add readme.txt
[root@server4 demo]# git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: readme.txt
#
[root@server4 demo]# git reset HEAD readme.txt
Unstaged changes after reset:
M readme.txt
[root@server4 demo]# git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
[root@server4 demo]# git checkout -- readme.txt
[root@server4 demo]# cat readme.txt
readme
readme
readme
readme