git学习笔记

前言

在开发项目中,尤其实在多人合作开发的项目中,代码管理和版本控制尤为重要。git就是一个非常好用流行的代码管理工具,记录下git的一些基础操作,方便日后复习查看。

git安装

  • for linux
    sudo apt-get install git
  • for windows
    直接官网下载exe安装程序,解压安装就完事了。不过还需要打开git bash。配置一下:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
  • for mac
    推荐在app商城安装Xcode,然后先择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。

git基础

git init 初始化

git add -A 将所有改动添加到仓库暂存区

git commit -m “描述改动” 提交改动,并为改动添加注释

git status 查看工作区状态

git diff 查看修改内容

git log 查看提交的历史记录 head指向的版本就是当前的版本

git reset --hard commit_id 可以在不同历史版本之间穿梭 (HEAD 表示当前版本 HEAD^表示上一个版本 ,HEAD^^表示上上个版本)

git reflog 查看历史命令,以便确定要回到未来哪个版本

git checkout – “file” 在"file"文件在工作区的修改全部撤销,即回到上一次git commit或git add的状态

git reset HEAD "file"把file在暂存区的修改回退至工作区

git rm 用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

远程仓库相关

git remote add origin git@server-name:path/repo-name.git 关联远程库。关联一个远程库时必须给远程库指定一个名字,origin是默认习惯命名

git push -u origin master第一次推送master分支的所有内容;
git push origin master 推送最新修改
git push origin dev 向远程库推送dev分支

git remote -v 查看远程库信息
git remote rm 解除了本地和远程的绑定关系

git clone 克隆一个远程仓库

git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;

git pull 抓取远程的新提交
如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/

分支相关

git checkout -b dev 创建并切换到dev分支 相当于两个命令:git branch dev + git checkout dev

git branch 查看当前分支

git merge 合并指定分支到当前分支。加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

git branch -d dev 删除dev分支
git branch -D 丢弃一个没有被合并过的分支

git switch -c dev 创建并切换到新的dev分支

git switch master 直接切换到已有的master分支

git log --graph命令可以看到分支合并图

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场;

在master分支上修复的bug,想要合并到当前dev分支,可以用git cherry-pick 命令,把bug提交的修改“复制”到当前分支,避免重复劳动。

标签管理相关

注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

git tag -a -m "blablabla…"可以指定标签信息

git show 可以看到说明文字

git tag可以查看所有标签。

git push origin 可以推送一个本地标签

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

git tag -d 可以删除一个本地标签;

git push origin :refs/tags/可以删除一个远程标签

其他关于git的操作

git config --global color.ui true 让Git显示颜色,会让命令输出看起来更醒目

忽略某些文件时,需要编写.gitignore;
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

汇总表格

最后的最后,我的整理有些啰嗦,为大家附上我在网上找到的整理的十分简洁的关于git操作的表格,需要可以自取。
在这里插入图片描述

参考链接:
廖老师的git教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值