Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git 基础知识整理 #34

Open
WarpPrism opened this issue Jun 5, 2018 · 0 comments
Open

git 基础知识整理 #34

WarpPrism opened this issue Jun 5, 2018 · 0 comments

Comments

@WarpPrism
Copy link
Owner

WarpPrism commented Jun 5, 2018

名词解释

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

冲突常见格式

<<<<<<<  
你的当前代码

=======  
要合并的代码(远端其他人的代码)

>>>>>>> 
@WarpPrism WarpPrism reopened this Jun 5, 2018
@WarpPrism WarpPrism changed the title git 常用操作整理 & git 工作流 git 基础知识整理 Jun 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant