Git版本管理工具

前言

很早就接触了GitHub,也安装过GitHub的win版本,win上体验极差,连安装都比较费劲。对于多数大拿而言,都是用命令行去管理自己的代码,但是自己以前百度了一些Git使用方式,由于对github-repository设置不太熟悉,觉得这个比较麻烦,因此也就懒得去弄它。今日购买域名后,fork了别人的repository建立博客网站,如果像原来一样直接在网页上修改编辑repository那就太麻烦了(网页上传动不动就不成功,而且由于误操作什么的可能导致其托管的网站崩溃,上一个自己的网站就是这么玩完的,MMP),于是只能硬着头皮捣鼓Git,经过一下午折腾,在Ubuntu上敲了一遍Git基本命令行,总算是学到了。这里做个笔记一一记下,以方便以后查阅使用。

1. 安装git

  $ sudo apt-get update 
  $ sudo apt-get install git 

#2. 编辑配置信息

  $ sudo vim ~/.gitconfig #默认是没有该配置文件的
  [user]
	name = rolabhj
	email = rolabhj@gmail.com
  $ git config --list #编辑好后即可查看配置

这里写图片描述

3. 创建公钥

  $ ssh-keygen -C 'rolabhj@gmail.com' -t rsa #在本地使用可以不用加密码,一路回车即可

4. 上传公钥

这里写图片描述

Title可以随便命名,Key的内容拷贝自cat ~/.ssh/id_rsa.pub

5. 测试

$ ssh -v git@github.com #debug:Exit status 1即安装成功

这里写图片描述

6. 使用

  • 常用

    $ git init #初始化该目录
    $ git add file #把文件添加到版本库中
    $ git status #显示工作路径下已修改的文件
    $ git commit -m "Initial Commit" -a #提交所有文件,m表示message ,a表示所有
    $ git commit -m "Initial Commit" file #提交特定文件 
    $ git commit --amend #请勿修改已发布的提交记录
    $ git diff #显示与上次提交版本文件的不同
    $ git grep "Hello" #从当前目录的所有文件中查找文本内容
    $ git log #显示所有的提交记录
    $ git remote add origin ssh://git@git.domain.tld/repository.git #关联到远程库
    $ git remote -v #查看远程主机名
    $ git push origin master #提交代码
    

    ssh:// HTTPS查看下图

这里写图片描述

  • 删除远程文件

    $ git rm -r --cached file-master
    $ git commit -m "delete file"
    $ git push origin master
    # 或者先删除本地文件然后add commit再push
    $ git add -A #它能stages所有文件,git add.只能stages新文件和被修改文件,没有被删除文件
    
  • 添加(修改)文件

    # 先git clone到本地,然后创建新文件readme.md
    $ git add readme.md #添加到仓库
    $ git commit -m "first commit" #添加说明
    $ git push -u origin master #推到远程(-u本地分支与远程分支保持同步)
    

推送成功

这里写图片描述

注意:每次修改,如果不add到暂存区,那就不会加入到commit中

  • 远程更新到本地

    $ git fetch origin master:tmp #远程获取最新的版本到本地的tmp分支上
    $ git diff tmp #进行比较
    $ git merge tmp #合并
    $ git git branch -d tmp #delete tmp
    $ git pull origin master #相当于git fetch 和 git merge
    
  • 分支与标签

    $ git branch #列出所有的分支
    $ git checkout <branch> #切换分支
    $ git checkout -b <branch> #创建并切换到新分支
    $ git branch <new-branch> #基于当前分支创建新分支
    $ git branch -d <branch> #删除本地分支
    $ git tag <tag-name> #给当前版本打标签
    
  • 撤销

    $ git reset --hard HEAD #放弃工作目录下的所有修改
    $ git reset HEAD #移除缓存区的所有文件(i.e. 撤销上次git add)
    $ git checkout HEAD <file> #放弃某个文件的所有本地修改
    $ git revert <commit> #重置一个提交
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值