前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git 常用命令

Git 常用命令

作者头像
Ewdager
发布2020-07-14 14:18:21
5130
发布2020-07-14 14:18:21
举报
文章被收录于专栏:Gvoidy备份小站

Git 简介

Git - 分布式版本控制系统,每台电脑上都可以离线存一个仓库,但总是设立一台服务器作为远程库 SVN - 集中式版本控制系统,无本地仓库,push pull 必须通过中央服务器

基本操作

代码语言:javascript
复制
git init     # 初始化,创建仓库
git add .    # 添加所有文件(添加单一文件写文件名)到缓存区
git commit -m "message" # 将缓存区所有任务保存到仓库,并添加本次修改的信息(注释)

git status   
# 查看当前仓库状态,会显示无修改、有修改但未提交缓存、提交缓存但未提交仓库多种状态

git diff <filename> # 查看当前文件与最新版本的差异

git log # 显示历史记录
git log --pretty=oneline # 一行显示历史记录(显示全部id)
git log --oneline    # 一行显示历史记录(显示id前7位)
git reflog # 显示所有命令记录
git log --graph # 显示分支合并图

git reset --hard <commit ID> # 退回某一版本,HEAD为最新版本

git checkout -- <filename> # 丢弃缓存区某文件的修改

git rm <filename> # 删除某文件并提交到缓存区

git tag v1.0 # 给最新commit创建tag
git tag v0.9 f52c633 # 给f52c633创建tag v0.9
git tag -d v1.0 # 删除这个tag

远程库&分支管理

代码语言:javascript
复制
git remote add <name(origin)> [email protected]:ewdager/learngit.git 
# 从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联

git push -u origin master
# 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,
# Git不但会把本地的master分支内容推送的远程新的master分支,
# 还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

git clone [email protected]:ewdager/learngit.git # 克隆版本库

git checkout -b dev # 创建dev分支并切换,等于一下两条命令
git branch dev    # 创建dev分支
git checkout dev  # 切换至dev分支

git branch # 查看当前分支

git nerge dev # 把dev分支合并到master
git branch -d dev # 删除dev分支

git merge --no-ff -m "merge with no-ff" dev 
# 强制禁用Fast forward模式,Git就会在merge时生成一个新的commit。删除分支后,不会丢掉分支信息

git stash # 储存当前“状态”,供后续恢复,不会影响缓存区和仓库
git stash list # 查看储存列表
git stash apply <stashid> # 恢复某次状态
git stash drop <stashid> #删除某次状态
git stash pop <stashid> # 恢复并删除某次状态

git branch -D <name> # 强制删除没被合并过的分支

git rebase # 让分支变得更美观!

高级一点的操作

  • 文件已修改,未add到缓存区: git checkout -- <filename>
  • 文件已修改,并add到缓存区未commit: git reset HEAD <filename> git checkout -- <filename>
  • 生成SSH KEY ssh-keygen -t rsa -C "[email protected]" 其中id_rsa为私钥,id_rsa.pub为公钥。
  • 当合并分支出现冲突时 先用git status查看冲突文件,然后手动修改冲突文件,最后将冲突文件addcommit即可合并成功。可用git log --graph查看分支合并图。
  • 临时 Bug 分支&保存现场 详见廖雪峰Git教程-Bug分支
  • 多人协作
    1. 首先,可以试图用git push origin 推送自己的修改;
    2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
    3. 如果合并有冲突,则解决冲突,并在本地提交;
    4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream-to origin/。 这就是多人协作的工作模式,一旦熟悉了,就非常简单。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git 简介
  • 基本操作
  • 远程库&分支管理
  • 高级一点的操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档