git学习

Git学习

Git的全局设置

  • git config --global user.name 'your name'
  • git config --global user.email 'your email
  • git config --global color.ui true 让Git显示不同的颜色
  • git config -list 查看全局设置

Git创建本地版本库

  • mkdir git-guide
  • cd git-guide
  • pwd 查看当前文件路径
  • git init 将当前文件变成git可以管理的仓库
  • ls -ah 查看所有文件,可以看到隐藏的.git文件

新建文件并提交至仓库

  • vi readme.txt 新建文件并进入编辑
  • esc , shift+: wq,enter保存退出;
  • :w保存不退出
  • :e!放弃所有修改,从上次保存文件开始再次编辑
  • :wq!强制保存并退出
  • w!强制保存不退出
  • :q不保存退出
  • git add readme.txt 添加文件,可以添加多个git add f.txt f2.txt
  • git commit -m'decs相关内容描述说明'
  • git status 查看仓库的状态

修改相关文件

  • vi readme.txt进入编辑修改
  • git diff 显示所有修改过的文件(不会显示新建文件的记录)
  • git diff readme.txt显示指定文件的修改记录
  • git add readme.txt 添加,可以合并两次修改提交一次
  • git commit -m'desc1'提交

查看版本记录并回退或者前进

  • git log查看详细版本信息或者使用git log --pretty=online简洁版信息
  • git reset -hard HEAD^回退到上一个版本,HEAD^^上上个版本;c9207查看log到指定的版本中
  • cat readme.txt 可查看文件内容是否真回到指定版本中

暂存区的理解

git版本仓库分三部分:工作区:主要是新建文件,或者修改还没add之前的一些文件;暂存区:经过指git add 之后的一些文件;然而git diff主要就是查看工作区与暂存区之间的差异;HEAD(master):就是版本文件了,也就是暂存区经过git commit 之后的文件;可以 git diff --cached可以查看改动

-------版本库------------------
           |               |
       git diff -cached    |
           |               |
----暂存区-----        git diff HEAD
           |               |
       git diff            |
           |               |
-------工作区------------------

撤销修改

分两种情况:
工作区的文件撤销修改

  • git checkout -- readme.txt 或者丢弃所有修改改为 -- .

在暂存区的修改

  • vim readme.txt 修改文件
  • git status 查看状态,可以看出未进入暂存区
  • git add 添加到暂存区
  • git status 再次查看状态
  • git reset HEAD readme.txt 将head版本区的文件放入暂存区,
  • 接下来将工作区的文件也改回之前git checkout -- .
  • git status 进行查看状态

删除文件

  • rm test.txt 删除文件
  • git status 查看状态
  • git rm test.txt产出暂存区的文件
  • git commit -m'remove a test.txt'提交说明更新版本库文件

将本地仓库推送至远程仓库

  • git remote add origin git@github.com:coolpail/musicSearch
  • 如果远程有README.md,则需要merge一下git pull --rebase origin master
  • git push -u origin master再上传至远程仓库
  • 之后推送至远程仓库只要git push origin master

将远程仓库克隆至本地

  • git clone git@github.com:coolpail/blog.git

分支管理

  • git branch 查看本地分支;git branch -v详细信息;git branch -av包括远程仓库在内的分支
  • git checkout -b dev创建分支并进入
  • git checkout master 切换主分支
  • git merge dev 合并分支的内容
  • git branch -d dev 删除分支

标签相关

  • git checkout master切换至主分支
  • git tag v1.0 默认打在最新提交的commit上
  • git tag v0.9 f9027 可以打在指定的log版本上
  • git tag -d v1.0删除标签
  • git push origin v1.0 标签提交至远程仓库; `–tags推送所有标签
  • 如果提交至远程仓库,再删除则先git tag -d v1.0本地删除;再git push origin :refs/tags/v1.0远程删除;可以上github检验一下;
    原文作者:Infinity
    原文地址: https://segmentfault.com/a/1190000017221358
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞