- Published on
git基本操作
- Authors
- Name
- JiGu
- @crypto20x
git 基本概念
- workspace 工作区
- stage 暂存区
- repository 本地仓库
- remote 远端仓库
拉取仓库
git clone <url>
查看所有分支 本地及远端
git branch -a
为已存在项目添加远程分支
git remote add origin giturl
创建分支
#以当前分支创建新分支
git branch <分支名称>
切换分支
git checkout <分支名>
提交
# -a 包括增加,删除,修改文件自动处理
# -s signoff附上签名
# -m 附上 提交注释
# --amend 将上一次提交和本次提交合并,上次提交撤销
git commit -a -s -m "message"
撤销commit
git reset HEAD^ #默认是--mixed选项,只保留工作区
git reset --soft HEAD^#保留workspace,stage 清空repo
git reset --hard HEAD^#清空workspace,stage,repo
回退远程仓库的提交
- 先回退本地
- git push -f origin master 强制推送到远端
origin 默认远程仓库的标签 master 远程仓库的分支名
有些终端会将^认作换行符,用~代替
恢复误删文件
#commit过的
git reflog
git reset [ID]
合并
merge
#当前分支为master
#合并test到master
git merge test
rebase
#当前分支为test
#以master分支为基础,合并test和master形成新版本
git rebase master
删除
删除远端文件并停止追踪关系
# 若是文件夹 加上-r
git rm --cached perfix.txt
工作流
- git clone
- git pull # 同步最新
- git branch <分支名>
- git checkout <分支名> # 在分支进行工作
- git add .
- git commit -a -s -m "message"
- git review # gerrit review控制,需单独安装
github
覆盖之前的提交
git commit --amend -s
git push --force-with-lease origin master //强制覆盖