Skip to content

git 基础知识整理 #34

@WarpPrism

Description

@WarpPrism

名词解释

workspace 工作区,维护当前的更改状态
staging area 暂存区,存放临时更改(git add),也称索引Index
local repository 本地仓库
remote repository 远程仓库
HEAD 当前分支最近一次commit的内容

图示

GitDataTransfer

git remote

查看远端仓库信息

查看所有上游仓库名字和git地址: git remote -v 替换已有的上游分支的url: git remote set-url <url> 

git checkout

用于检出、切换分支

git checkout master 切换到master分支 git checkout -b dev 创建并切换到dev分支 

git branch

用于git 分支管理

git branch 查看本地分支 git branch -a 查看所有分支(包括本地和远端分支) git branch dev 创建dev分支 git branch -d dev 删除dev 分支 

git add、git commit 、 git push、git pull

git提交基本命令,将本地更新同步到远端分支

git add -A 添加所有更改(包括增加、修改和删除) git commit -m "commit msg" 提交并编辑提交信息 git pull --rebase 同步远端更新 git push origin [branch name] 推送 

git stash

储藏更改:将当前更改的代码储藏起来,等以后恢复使用

git stash 储藏更改到stash栈里 git stash list 查看储藏栈情况 git stash apply stash@{0} 恢复stash里id为0的更改 git stash pop 恢复的同时把stash栈里的第一项内容删掉 

git stash pop VS git stash apply

原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除, 而 git stash apply stash@{id} 命令则会继续保存stash id。 

git reset

清空提交区内容;本地分支回退版本

本地分支回退版本 git reflog 查看以往版本号 git reset --hard 【版本号commit id】 如果要使远端分支也会退,则继续使用 git push -f 强制推送,否则本地分支落后远程分支,无法push 

git rebase

git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态。

git pull = git fetch + git merge git pull --rebase = git fetch + git rebase 

git rebase 工作流

git stash 暂存更改 git pull --rebase 更新远端代码 git stash pop 如果有冲突,手动解决冲突,并提交 git add -u git rebase --continue 如果此时提示No rebase in progress?则表示已经没有冲突了;否则上面两步要重复多次 git commit -m “xxx” git push origin [branch] -f 

冲突常见格式

<<<<<<< 你的当前代码 ======= 要合并的代码(远端其他人的代码) >>>>>>> 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions