创建文件
[root@gitlab git_data]
# touch README [root@gitlab git_data]
# git status
添加文件跟踪
[root@gitlab git_data]
# git add ./*
[root@gitlab git_data] # git status
[root@gitlab git_data] # git status
由工作区提交到本地仓库
[root@gitlab git_data]
# git commit -m 'first commit'
查看git的状态
[root@gitlab git_data]
# git status
# 位于分支 master
无文件要提交,干净的工作区
# 位于分支 master
无文件要提交,干净的工作区
[root@gitlab git_data]
# git push -u origin master
添加新文件
git add * 添加到暂存区域
git commit 提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
git commit 提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
修改或删除原有文件
常规方法
git add *
git commit
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
[root@gitlab git_data] # ls
[root@gitlab git_data] # git status
查看历史记录
• 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
[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
无文件要提交,干净的工作区
[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
切换到分支 '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日
更新 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 https://github.com/bestswifter/MySampleCode.git
ls
git config core.sparsecheckout true
echo "CornerRadius" >> .git/info/sparse-checkout
cat ./.git/info/sparse-checkout
git pull origin master