Git 基本操作

创建仓库

初始化一个文件为本地仓库

git init

从现有的仓库中拷贝项目

git clone 地址

提交流程

从远端拉取代码

git pull

# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest

# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master

将修改提交至暂存区

# 提交修改文件和新增文件(不包括删除文件)
git add .

# 提交已经被add的文件(修改文件和删除文件)不包括新增文件
git add -u

# 提交所有的修改
git add -A

查看仓库当前的状态,显示有变更的文件。

git status

提交暂存区到本地仓库中

git commit -m "message"

查看提交日志

git log

将代码推送至远端

git push

临时存储

# 将修改临时存储
git stash

# 恢复工作目录
git stash pop

# 查看stash了哪些存储
git stash list

# 删除所有stash
git stash clear

分支操作

查看分支

# 查看分支
git branch

# 查看远程分支
git branch -r

# 查看所有分支
git branch -a

操作分支

# 切换分支
git checkout 分支名

# 创建分支
git branch 分支名

# 创建并切换分支
git checkout -b 分支名

# 将分支推送到远程
git push origin 分支名

# 将本地分支与远程分支关联(关联后才可进行 git pull 和 git push 操作)
git push --set-upstream origin 分支名

# 将远程分支同步到本地(在此之前需要 git pull 拉取远程仓库最新分支信息)
git checkout origin/分支名 --track

# 合并分支
git merge 分支名

# 删除本地分支
git branch -d 分支名

# 删除远程分支
git push origin --delete 分支名

# git 从某个commit拉出一个新的分支
git checkout <commitId> -b <branchName>

# 合并某个分支的某一次commit提交
git cherry-pick <commitId>

代码回滚

# 撤回最近一次的commit(撤销commit,不撤销git add)
git reset --soft HEAD~1

# 撤回最近一次的commit(撤销commit,撤销git add)
git reset --mixed HEAD~1

# 撤回最近一次的commit(撤销commit,撤销git add,还原改动的代码)
git reset --hard HEAD~1

# 执行 git log ,获取到 commit id
git reset <commitId>