Published on

git基本操作

Authors

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

回退远程仓库的提交

  1. 先回退本地
  2. 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 //强制覆盖