标签:ash roo 直接 历史记录 本地 diff Linux分支 fas art
[root@gitlab git_data]# touch README [root@gitlab git_data]# git status
# 位于分支 master
#
# 初始提交
#
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# README
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
添加文件跟踪
[root@gitlab git_data]# git add ./*
[root@gitlab git_data]# git status
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
# (使用 "git rm --cached <file>..." 撤出暂存区)
#
# 新文件: README
#
由工作区提交到本地仓库
[root@gitlab git_data]# git commit -m ‘first commit‘
[master(根提交) bb963eb] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
查看git的状态
[root@gitlab git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区
git add * 添加到暂存区域
git commit 提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
修改或删除原有文件
常规方法
git add *
git commit
简便方法
git commit -a -m "注释信息"
-a 表示直接提交
# 删除文件
[root@gitlab git_data]# rm 123 -f
[root@gitlab git_data]# ls
[root@gitlab git_data]# git status
# 位于分支 master
# 要提交的变更:
# (使用 "git reset HEAD <file>..." 撤出暂存区)
#
# 新文件: 123
#
# 尚未暂存以备提交的变更:
# (使用 "git add/rm <file>..." 更新要提交的内容)
# (使用 "git checkout -- <file>..." 丢弃工作区的改动)
#
# 删除: 123
#
• git log #→查看提交历史记录
• git log -2 #→查看最近几条记录
• git log -p -1 #→-p显示每次提交的内容差异,例如仅查看最近一次差异
• git log --stat -2 #→--stat简要显示数据增改行数,这样能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息
• git log --pretty=oneline #→--pretty根据不同的格式展示提交的历史信息
• git log --pretty=fuller -2 #→以更详细的模式输出提交的历史记录
• git log --pretty=fomat:"%h %cn" #→查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名。
git reset --hard hash
git reset --hard HEAD^ #→还原历史提交版本上一次
git reset --hard 3de15d4 #→找到历史还原点的SHA-1值后,就可以还原(值不写全,系统
会自动匹配)
git reflog #→查看未来历史更新点
git diff可以对比当前文件与仓库已保存文件的区别,知道了对README作了什么修改
后,再把它提交到仓库就放?多了。
git diff README
[root@gitlab git_data]# git branch linux
[root@gitlab git_data]# git branch
linux
* master
[root@gitlab git_data]# git checkout linux
切换到分支 ‘linux‘
[root@gitlab git_data]# git branch
* linux
master
在linux分支进行修改
[root@gitlab git_data]# cat README
[root@gitlab git_data]# echo "2017年11月30日" >> README
[root@gitlab git_data]# git add .
[root@gitlab git_data]# git commit -m "2017年11月30日09点10分"
[linux 5a6c037] 2017年11月30日09点10分
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 linux
无文件要提交,干净的工作区
回到master分支
[root@gitlab git_data]# git checkout master
切换到分支 ‘master‘
[root@gitlab git_data]# cat README
[root@gitlab git_data]# git log -1
commit 7015bc7b316cc95e2dfe6c53e06e3900b2edf427
Author: clsn <admin@znix.top>
Date: Wed Nov 29 19:30:57 2017 +0800
123
合并代码
[root@gitlab git_data]# git merge linux
更新 7015bc7..5a6c037
Fast-forward
README | 1 +
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区
[root@gitlab git_data]# cat README
2017年11月30日
git branch -d 删除掉
mkdir gitSparse
cd gitSparse
git init
git remote add -f origin git@IP:XXX.git
git config core.sparsecheckout true
echo "some/sub-folder/you/want" >> .git/info/sparse-checkout
git checkout master
参考
Git基本操作(Linux)
标签:ash roo 直接 历史记录 本地 diff Linux分支 fas art
原文地址:https://www.cnblogs.com/scChen/p/10503165.html