码迷,mamicode.com
首页 > 系统相关 > 详细

Git基本操作(Linux)

时间:2019-03-09 21:45:38      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:ash   roo   直接   历史记录   本地   diff   Linux分支   fas   art   

  1. 创建文件
[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
无文件要提交,干净的工作区
  1. 添加新文件
git add  * 添加到暂存区域
git commit  提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
修改或删除原有文件
常规方法
git add  *
git commit
简便方法
git commit -a  -m "注释信息"
-a 表示直接提交
  1. 删除
#  删除文件
[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
  1. 查看历史记录
• 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哈希字串与提交着的姓名。
  1. 还原历史版本
git reset --hard   hash
git reset --hard HEAD^  #→还原历史提交版本上一次
git reset --hard 3de15d4 #→找到历史还原点的SHA-1值后,就可以还原(值不写全,系统
会自动匹配)
  1. 还原未来数据
git reflog #→查看未来历史更新点
  1. 对比数据
git diff可以对比当前文件与仓库已保存文件的区别,知道了对README作了什么修改
后,再把它提交到仓库就放?多了。
git diff README
  1. 分支切换
    [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日
  1. 删除分支
git branch -d 删除掉
  1. 部分代码
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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!