Ryu

Git 使用小记
BANNER:「改造!」/「ここね」/「「pixiv」Git 使用小记前言以前也写过一篇关于 Git 日常命令,这...
扫描右侧二维码阅读全文
26
2018/07

Git 使用小记

BANNER:「改造!」/「ここね」/「「pixiv」

Git 使用小记

前言

以前也写过一篇关于 Git 日常命令,这里重新记录一遍。

添加多个仓库

添加多个仓库,可以通过不同的名称区分。

git remote add [名称] [仓库]

例子:

git remote add origin https://github.com/yourname/project.git
# 添加上游仓库
git remote add upstrem https://github.com/yourname/project2.git

完美修改提交

完美修改上次提交的代码,做一次更完美的commit,可以这样:

  1. git reset commitId,(注:不要带 --hard , 默认是 --soft)到上个版本
  2. git stash ,暂存修改
  3. git push --force , 强制 push, 远程的最新的一次 commit 被删除
  4. git stash pop ,释放暂存的修改,开始修改代码
  5. git add . -> git commit -m "massage" -> git push

简单总结一下,其实就是 --soft--mixed 以及 --hard 是三个恢复等级。
如果使用 --soft 就仅仅将头指针恢复,已经add 的缓存以及工作空间的所有东西都不变。
如果使用 --mixed,就将头恢复掉,已经add的缓存也会丢失掉,工作空间的代码什么的是不变的。
如果使用 --hard,那么一切就全都恢复了,头变,aad 的缓存消失,代码什么的也恢复到以前状态。

暂存功能

上面用到 git stash 命令,是用于暂存本地的修改,常用于切换分支时,保存当前本地改动。

# 将修改内容入栈
git stash
# 显示栈列表
git stash list
# 将栈中的 stash@{2} 取出
git stash apply stash@{2}
# 将最近入栈的取出
git stash pop
# 删除指定的栈
git stash drop stash@{0}
# 修改创建一个分支
git stash branch testchanges

强制拉取更新

# 放弃本地修改,强制拉取更新
git fetch --all
git reset --hard origin/master
git pull
# 指令是下载远程仓库最新内容,不做合并 
git fetch 
# 指令把HEAD指向master最新版本
git reset 

更换仓库地址

git remote set-url origin gitURL

删除远程分支

git push [远程名] :[分支名]

重新修改日志

git commit --amend

后记

持续补充。。。

Last modification:September 4th, 2018 at 08:15 am

Leave a Comment