Linux之Git基本操作

Git快速教程

首先,安装一个GIT:

$ sudo apt-get install git

git version 查看是否安装成功

然后开始操作!!!:

一、本地仓库管理

$ mkdir git_test   # 新建一个目录
$ cd git_test         # 进去

目前git_test是一个很普通的文件夹,我们要对它进行装饰:

$ git init                  

(顿时金碧辉煌)它从一个普通的目录就变成了Git可以管理的仓库。

此时,好奇宝宝肯定想知道到底哪里变化了;

使用 $ ls# 没变化,别急试试 $ls -a (显示隐藏文件)
会看到3个东西 :1、. 2、.. 3、.git
我们给这个git_test的目录一个新的名字:工作区(workspace)

下面我们要让这个仓库上刻上自己的标记:
git config --global user.name "xxx" #配置名字
git config --global user.email "xxx@xxx" #配置邮箱(随意点)

下面介绍几个查询信息的操作:

git status                      # 查看仓库状态
git log                         # 查看版本历史

下面我们来说说你没有看到的世界:
(之后的操作每一步你都可以使用上面两个查询操作查看变化)
目录git_test 是一个 工作区,对你可见,你可以进行一系列一般目录的操作,如:
$ touch helloGit.c 创建一个文件;然后使用git操作:

$ git add helloGit.c  

将这个文件提交到暂存区(index)(暂存区对你不可见的),
然后使用操作

$ git commit -m "XXX"  # XXX为你对本次提交的描述说明

此时helloGit.c文件就从暂存区转移到了本地仓库区,这个对你也是不可见的,此时暂存区就空了$ git status 一下,发现,就会看到本地仓库的信息了。

总结一下

将工作区(目录)中的目标文件上传到Git本地仓库的步骤:

$ git init            # 初始化
$ touch file.c        #创建目标文件
$ git add file.c      #目标文件传到暂存区
$ git commit -m "C文件提交"    # 暂存区文件转移到Git本地仓库

之后,或许你还想再创建个Helloworld.c ,那么再经过git add Helloworld.c 到暂存区,再经过git commit -m "你好世界文件提交" 到你的本地仓库,再次git log 查看本地仓库:
到此为止,你就有两个版本的项目了。
版本1:有一个helloGit.c ,
版本2:添加了Helloworld.c。
其实到此,git 的真正作用还没有体现出来。
下面是体现git作用的时候了:

当你需要回退到之前的版本的时候,即当你在当前版本犯下了不可弥补的操作错误时,
你可以回退到之前的版本,使用

git reset --hard 版本号

如何查看版本号:

git reflog

例如:
在这里插入图片描述
第一次提交(initial)后版本号为 :72b7d3b,第二次提交的版本号为:10b6c82。(这里记录了你每一次进行操作的记录)

你可以使用 git reset --hard 72b7d3b返回到第一次提交的版本。之后你再查看你的工作区,就只剩下一个HelloGit.c 的文件了。
还有一些关于reset的操作:

  • HEAD表示当前最新版本
  • HEAD^表示当前最新版本的前一个版本
  • HEAD^^表示当前最新版本的前两个版本,以此类推…
  • HEAD~1表示当前最新版本的前一个版本
  • HEAD~10表示当前最新版本的前10个版本,以此类推…
    你可以使用 git reset --hard HEAD^ 来退回到上一个版本,此时工作区里面的文件也会同步到上一个版本。
    如果你回退到了旧版本,又像重新回退到新的版本,只需要:
    git reset --hard 最新版本的版本号即可。
    下面介绍一些辅助操作:
删除文件

$ git rm file(已经add/commit,在目录中删除)
$ git checkout -- file 删错了回退

添加文件
$ git add . (添加所有新增文件到暂存区)

撤销修改
- 只能撤销工作区、暂存区的代码,不能撤销仓库区的代码

- 撤销仓库区的代码就相当于回退版本操作
# 将暂存区代码撤销到工作区
$ git reset HEAD  文件名   
# 撤销工作区代码
$ git checkout 文件名

误删处理,撤销修改
$ touch test.py             # 创建文件
$ git add test.py           # 暂存区
$ git commit -m '删除描述'   # 提交到仓库
$ rm test11.py              # 删除文件
$ git checkout -- 文件名     # git撤销修改
本地代码管理:

工作区(Workspace):添加修改删除`文件
暂存区(Index):将工作区中的操作完成小阶段的存储,是版本库的一部分
本地仓库区(Respository): 对个人开发的一个小阶段代码存储

  • 记录的各版本可以查看或者回退
  • 但是在暂存区的版本一旦提交就再也没有了(保存到仓库区中)

二、远程仓库管理

开始之前,去github网站建立一个远程仓库,

# 关联远程仓库
git remote add origin git@https://github.com/用户名/demo.git
@后面为你创建的远程仓库的url

# 提交到仓库  输入登录账户密码
git push -u origin master      # 第一次的push

# 分支操作
$ git branch -a 查看所有分支
$ git branch -vv 查看分支关联
$ git branch demo 创建分支
$ git checkout demo 切换分支
$ git merge dev 合并某分支到当前分支
$ git branch -d dev 删除分支
$ git checkout -b dev 创建并切换分支
$ git push origin [name]  创建远程分支(本地分支push到远程):
$ git push origin :heads/[name]    删除远程分支
    
此例的意思就是,我们有一个叫做 master 的分支,并且该分支是当前分支。

当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。

如果我们要手动创建一个分支。执行 git branch (branchname) 即可。

$ git branch dev
$ git branch
* master
  dev 

    
$ ls
README
$ echo 'htllo world' > test.txt
$ git add .
$ git commit -m 'test.txt'
$ ls
README        test.txt
$ git checkout dev     # 切换分支就没了
$ ls
README
$ git checkout master   # 切换到主分支又有了

 # 创建分支立马切换  主分支内容还在分支里面  删除之前的内容对主分支不影响
git checkout -b dev  

touch demo.txt
git add .
git commit -am '测试'

# 分支合并
git merge dev
ls   # 查看

git branch -d dev   # 删除分支
 
git branch  # 查看分支

ls  # 查看文件分支的文件被合并了



版本管理操作
$ git tag     			# 查看版本
$ git tag [name]    	# 创建版本
$ git tag -d [name]     # 删除版本
$ git tag -r			# 查看远程版本
$ git push origin [name]     # 创建远程版本(本地版本push到远程)
$ git push origin :refs/tags/[name]     # 删除远程版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值