Git 命令大全

Git 基础全流程

git clone : 克隆远程仓库到本地。
git status : 查看当前版本状态(本地已修改的内容和暂存区的内容)
git add </file> : 添加已修改文件到暂存区
git commit -m “test” : 添加本次提交注释
git push origin bracnh : 提交本地branch 分支推送到远端。

git add

git add . : 提交本地修改和新增的文件,但不包括删除的文件。
git add -A : 添加本地所有变化的文件,但是不包括新增的文件。
git add -u : 添加本地被修改和被删除的文件,但是不包括新增的文件。
git add </file> : 添加本地特定文件进暂存区。
git add * : 添加本地所有的文件,包括.gitignore 忽略的文件。

git log

git log : 显示提交日志
样例:

1
2
3
4
5
6
commit 09315b84b8ba056875c2fcc814f40f69e742dbca		# 本次提交CommitID
Author : vgbhfive <vgbhfive@foxmail.com> # 提交作者和提交作者邮箱
Date : Thu Oct 17 13 :56 :49 2019 +0800 # 提交时间
# 提交注释
test

git log -p -m : 显示提交日子及修改内容

git show

git show CommitID : 查看本次CommitID 提交的所有内容

git revert

git revert CommitID : 撤销本次CommitID 提交的所有内容

git stash

git stash : 暂存当前修改内容

git reset

git reset : 撤销本次提交到暂存区的全部内容


远程仓库操作

git remote -v : 查看远程仓库。
git push [remoteName] [localBranchName] : 推送远程仓库
git remote rm [name] : 删除远程仓库
git remote add [namee] [url] : 添加远程仓库


分支操作

git branch : 查看本地分支
git branch -r : 查看远程分支
git pull [remoteName] [localBranchName] : 更新对应的分支,不输入则默认更新本分支
git fetch : 更新远程分支到本地
git branch [name] : 新建分支但不会切换分支
git checkout [name] : 切换分支
git checkout -b [name] :新建分支并切换到新分支
git branch -d [name] : 删除name 分支(只能删除已经合并的分支)
git merge [name] : 合并name 分支到当前分支
git push origin [name] : 创建远程分支(本地分支推送内容产生)

此命令请谨慎操作!

git push origin :heads/[name] : 删除远程name 分支

回滚操作

git reset –hard HEAD^ : 回退到上一个版本
git reset –hard CommitId : 回滚到指定的版本


版本操作

git tag : 查看本地版本
git tag [name] : 创建name 版本
git tag -d [name] : 删除本地name 版本
git tag -r : 查看远程版本
git push origin [name] : 创建远程版本(有本地推送而得)


团队合作

最近在准备Envoy 的英文翻译,在看翻译前的准备工作的时候,突然发现以前好像没有接触过Fork 别人的项目进行PR 的操作,所以今天来补上。

  1. Fork 原作者的项目
  2. 检查是否已经Fork 到自己的Github 账户
  3. 将Fork 的项目克隆到本地
    1
    git clone <Fork 后的URL>
  4. 与原项目保持同步
    1
    2
    3
    4
    5
    git remote -v
    git remote add upstream <原作者URL>
    git status
    git fetch upstream <自定义分支名>
    git checkout <自定义分支名>
  5. 合并分支
    1
    git merge upstream/<原作者分支名>
  6. 同步到自己的Github 账户
    1
    git push origin master

Error Question

推送图解

11.png

Already up-to-date

原因:
执行git merge 前,主干的代码没有更新。

步骤:

  • 切换到主干
    1
    $ git checkout master
  • 更新主干代码
    1
    $ git pull origin master
  • 切换回分支
    1
    $ git checkout feature/test
  • 执行合并操作
    1
    $ git merge master

分支合并后出现MERGEING

  1. 查看代码解决现有的冲突。
  2. git add … 冲突代码。
  3. 查看分支MERGEING 标志消失。

引用


个人备注

此博客内容均为作者学习所做笔记,侵删!
若转作其他用途,请注明来源!