简单实用的git使用总结

  什么是git? Git是目前世界上最先进的分布式版本控制系统,工作中或多或少会接触到git,基本上掌握git是开发人员的一项必备技能,下面是一些我总结出来的git的信息的和常用的指令。

本篇文章首发于 掘金

Git的由来

  Git是有Linus(Linux之父)用C语言写的一个分布式版本控制系统,相比集中式控制系统有着极大的优势,比如不必联网(可在脱机环境查看开发的历史版本)、强大的分支管理、高安全性。

Git常用指令

初始化操作

git init
git config --global user.name "Your Name"
git config --global user.email "email@example.com"

版本回退操作

git log  //查看提交日志    --pretty=oneline(查看简略信息) --graph (分支合并图)

git reset --hard HEAD^  //回退到上一个版本,也可以 HEAD~1
git reset --hard <commit_id>  //根据提交ID回退版本

git reflog  //查看历史命令

git checkout -- <file>  // 丢弃工作区的修改,即用版本库替换工作区
git reset HEAD <file>   // 把缓存区修改回退到工作区

git rm <file>    //删除一个文件

远程仓库操作

git remote add origin git@server-name:path/repo-name.git   // 关联远程仓库
git push -u origin master   //第一次推送 master 分支的内容
git push origin master || git push   // 之后推送命令
git pull origin <branch>  //获取远程主机某个分支的更新,再与本地的指定分支合并

分支管理操作

git branch          //查看分支
git branch <name>   //创建分支
git checkout <name> //切换分支
git checkout -b <name> //创建和切换分支

git merge <name>    //合并某分支到当前分支
git merge --no-ff -m "annotation" <branch_name>  //禁用Fast forward模式,可以在分支历史可出分支信息

git branch -d <name> //删除分支

git stash      // 存储工作现场
git stash pop  // 回到工作现场
git stash list // 查看 stash 工作区列表

git branch -d <name>  //删除分支
git branch -D <name> //删除未合并的分支

多人开发操作

一般来说,master分支是主分支,因此要时刻与远程同步;
dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步

git remote   //查看远程库信息 -v (查看详细信息)

git push origin <branch-name>   //推送修改的分支

git checkout -b branch-name origin/branch-name  // 在本地创建和远程分支对应的分支

git branch --set-upstream branch-name origin/branch-name  //建立本地分支和远程分支的关联
多人开发工作模式
  • git push origin <branch-name> 推送修改
  • 如果推送失败,则因为远程分支比你的本地更新,需要先用 git pull 合并
  • 如果有合并冲突,这要根据提示解决冲突,并在本地提交
  • 解决冲突后,再用git push origin <branch-name>再次推送

标签管理操作

本地添加标签操作

git tag <tagname>   //新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a <tagname> -m 'annotation'    //添加标签信息
git tag    //查看所有标签
git tag -d <tagname>   // 删除一个本地标签

远程添加标签操作

git push origin <tagname>  // 推送一个本地标签
git push origin --tags    // 推送全部未推送的本地标签
git push origin :refs/tags/<tagname>  //删除一个远程标签

提交时忽略特殊文件

在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

忽略文件的原则

  • 忽略操作系统自动生成的文件,比如缩略图等
  • 忽略编译生成的中间文件、可执行文件等
  • 忽略带有敏感信息的配置文件

举个栗子

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

配置别名

有些git命令单词比较难记,而且比较容易出错,这时候可以通过配置别名来提高开发效(tou)率(lan)

别名配置栗子

git config --global alias.unstage 'reset HEAD'  //可以使用 `git unstage <file>` 将缓存区的修改撤销到工作区

git config --global alias.last 'log -1'    //查看最新一次提交

总结

  尽管git命令繁多,上手比较困难,但常用的指令就那么十来个,掌握好这十几个常用指令,在这基础上根据需求进行扩展,那么你就可以得心应手地使用git啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值