git 命令

一、git 基础命令

Git 按照场景可以分为以下场景(Scence):

  1. Workspace:当前工作区,修改的的最初状态。
  2. Staging:修改后,添加到准备提交的缓存状态。
  3. Local repository:本地的代码仓库,只对自己的代码生效。这也是和 svn 区别之一,svn commit 之后就直接提交到远程服务器了,git commit 之后只是到本地代码库。
  4. Remote repository:远程代码库,将自己的本地代码库同步到远程代码库上,这样可以供别的开发者分享自己的成果。
补丁 diff

在 Git 里可以通过 git diff 或者 Linux/Mac/Conemu 中,也可以通过 diff -Naur 来生成文件对比结果

二、基本流程

2.1 克隆代码到本地开发环境 - Clone

$ git clone [REPOSITORY_URL]

2.2 更新代码 - Status/Commit/Log

$ git status
$ git log

命令查看,代码刚刚新建可以看到是 Untracked files(Workspace) 状态,执行 add 之后变成 Changes to be commited(Stage) 状态,修改了 Stage 中的文件,又会变成 Changes not staged for commit 状态。 执行 commit 之后就从 Stage 中转移到了 Local repository 中,可以通过git log查看到代码提交。

3.3 Branch 和 Tag

Branch 和 Tag 都可以看成是补丁的时序化集合,branch 可以互相合并,在 clone 完 repository 后有一个主线分支叫做 master。而 Tag 用于发布后标记版本,这两个只是从名字上不一样,功能并没有太大区别。

3.3.1 新建分支的两种办法
$ git checkout -b [BRANCH_NAME] # 在当前版本切换并新建分支
$ git branch [BRANCH_NAME] # 直接新建分支
3.3.2 切换分支
$ git checkout [BRANCH_NAME]
3.3.3 合并分支
$ git merge [BRANCH_NAME] # 将另外一个分支的代码,打到当前分支之后。
3.3.4 删除分支
$ git branch -d [BRANCH_NAME] # 已经合并到 master
$ git branch -D [BRANCH_NAME] # 该分支未合并到 master,强制删除

PS: 即使删除了分支等,也可以用 git reflogs 找回来

3.3.5 取消修改
git stash # 取消全部修改,很强大的是它可以恢复过来,具体自己查一下
git reset —soft [REV] # 保留修改内容,从 Local repository 中撤销,也可以用于回退历史记录
git reset —hard [REV] # 丢掉修改内容,从 Local repository 中撤销,也可以用于回退历史记录

3.4 推送代码到远程分支

$ git push [REMOTE] [BRANCH]

remote 默认为 origin,如果不填的话就推送到它上面,branch 默认为当前分支,其实可以不加,加了就把指定的分支推送到远程了
郑重警告:永远不要对主线 master 分支执行 —force

3.5 获取远程分支更新

$ git pull # 把代码更新到  workspace
$ git fetch # 把代码更新到 Local repository,可能需要通过 merge 再合并到 worksapce 一次

3.6 远程仓库

Clone 之后会有一个默认的远程仓库为 origin,但如果还要增加别的远程仓库,就需要用到下面命令了

$ git remote add [REMOTE_NAME] [URL] # 添加原创仓库
$ git fetch [REMOTE_NAME] # 获取远程仓库更新
$ git branch -a # 查看包括远程仓库以内的所有分支
$ git push [REMOTE_NAME] [BRANCH_NAME] # 推送到远程仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值