Git学习笔记

关于对Git的学习总结

安装git


  • 设置用户名和邮箱
$ git config --global user.name"your name"
$ git config --global user.email "email@example.com"

创建版本库

  • 创建空目录
$ mkgit learngit  //创建一个叫做learngit名字的空目录
$ cd learngit //进入目录
$ pwd //显示当前目录所在的路径
  • git init 命令将创建的目录变成git可管理的仓库

添加文件到版本库

  • git add 命令告诉git,把文件添加到了仓库(实际上就是把文件修改添加到暂存区
$ git add readme.txt  //添加了一个叫做readme的txt文件
  • git commit 命令告诉git,把文件提交到了版本库(实际上就是把暂存区的所有内容提交到当前分支
$ git commit -m"wrote a readme file" // -m后面输入对本次提交的说明
  • git commit 成功以后会告诉你, 1 file change :一个文件被改动; 2 insertions :插入了两行内容(readme.txt有两行内容)

  • git status 命令可以时刻掌握仓库当前的状态

  • git diff <file name> 可以查看具体修改了什么内容

每次对文件修改以后都要用git add 提交到仓库,用 git commit 提交改动说明

版本回退

  • git log 命令可以查看文件修改提交的历史纪录,显示的是从最近到最远的提交日志,加上 --pretty=oneline 参数可以缩减显示内容,输出内容是版本号以及 git commit 中的内容, HEAD 表示当前版本,上一版本为 HEAD^ 上上版本为 HEAD^^ 上100版本为 HEAD~100
  • git reset --hard HEAD^ 为回退到HEAD的上一版本,用 git reset 命令来回退版本,回退后文件的修改会回到之前版本
  • git reflog 命令可以记录你的每一次命令查看命令历史,如果不小心回退错了可以先用 git reflog 查看版本号,然后用 git reset --hard + 空格 + 版本号 来回退
  • git add 提交的东西会放到暂存区,再由 git commit 提交到仓库中。

撤销修改

  • 当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout -- file
  • 当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令 git reset HEAD <file> ,就回到了第一条,第二步按第一条操作。
  • 已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

远程仓库

  • 设置本地git仓库和github仓库
  1. 创建 SSH Key : 在用户主目录下查看有没有 .ssh 目录,打开看看有没有 id_rsa (私钥,不可泄露)和 id_rsa.pub(公钥) 文件,没有则创建 SSH Key
$ ssh-keygen -t rsa -C"youremail@example.com"
  1. 在GitHub的 Account setting,SSH Key页面点击Add SSH Key 填上任意Title 在Key的文本框中粘贴 id_rsa.pub 中的内容
  • 添加远程库
  1. 登陆GitHub, Create a new repo 创建新仓库
  2. 在本地要同步的仓库下运行命令
$ git remote add origin git@github.com:yourgithubname/cangkuname.git
  1. 首次将本地库的内容推送到远程库
$ git push -u origin master// 把当前分支master推送到远程

非首次推送

$ git push origin master
  • 从远程库克隆
  1. 登陆GitHub创建新仓库,勾选Initialize this repository with a README (自动创建了README.md文件)
  2. 用命令克隆一个本地库
$ git clone git@github.com:yourgithubname/cangkuname.git

创建与合并分支

  • 创建并切换dev分支
$ git checkout -b dev// -b表示创建并切换分支
  • 创建分支与切换分支分开进行
$ git branch dev
$ git checkout dev
  • git branch 命令查看当前分支,当前分支前面会标一个 *
  • dev 分支的工作完成以后切换回 master 分支
$ git checkout master
  • dev 分支的工作成果合并到 master 分支上
$ git merge dev//用于合并指定分支(dev)到当前分支
  • 合并完成后可删除 dev
$ git branch -d dev
  • 使用 git log --graph 也可以看到分支合并情况
  • 合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
    -如果要丢弃一个没有被合并过的分支,可以通过 git branch -D <name> 强行删除。

储存工作区内容

  • git stash 命令储存工作区内容
  • git stash pop恢复分支的同时把stash的内容也删除了
  • git stash list 命令可以查看有几个stash的分支

创建标签

  • 命令 git tag <tagname> 用于新建一个标签,默认为HEAD,也可以指定一个commit id

  • 命令 git tag -a <tagname> -m "blablabla..." 可以指定标签信息;

  • 命令 git tag 可以查看所有标签。

操作标签

  • 命令git push origin <tagname>可以推送一个本地标签;

  • 命令git push origin --tags可以推送全部未推送过的本地标签;

  • 命令git tag -d <tagname>可以删除一个本地标签;

  • 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

weixin028基于微信小程序小说阅读器设计+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值