Zexian Li

Git常用命令行概述

2018-05-27 · 4 min read
Git

写在前边:所有的命令都可以通过在后边添加 --help查看官方文档.
eg: git add --help 以查看git add的使用说明.

git add

将当前文件夹内文件添加到暂存区域.

git branch

查看本地分支 git branch
创建分支 git branch branch_name
查看远程分支 git branch -r
查看本地和远程的所有分支 git branch -a
删除已经合并的分支 git branch -d branch_name
强制删除分支 git branch -D branch_name

git checkout

切换分支 git checkout branch_name
创建并切换到新分支 git checkout -b branch_name

git clone "git"

下载主分支代码 git clone https://github.com/FuNian788/FuNian788.git
下载特定分支的代码 git clone -b branch_name https://github.com/FuNian788/FuNian788.git

git commit -m "done"

从暂存区域提交代码到代码仓库. 提交说明为 "done".

git diff

用来比较仓库/暂存区/工作目录的不同

git init

在当前文件夹创建一个git仓库.

git log 查看版本提交记录

提交记录内保存了每次commit的相关内容. 可以在此查看相应的提交和版本号.
当然 版本号和提交记录可以在Github上直接查看.
一个显示简单摘要的办法: git log --oneline --decorate --all --graph

git merge

将特定分支与当前分支合并 git merge branch_name
"git merge 分支名 --allow-unrelated-histories" 将分支合并到主分支上

git remote

查看远程仓库 git remote
添加远程仓库 git remote add name url
删除远程仓库 git remote rm name

git reset 目标版本号(HEAD)

将仓库回退到指定的版本. 由于修改HEAD指向 该版本之后的版本均会被舍弃.
此时再使用"git push"指令提交会报错 因为本地库HEAD指向的版本比远程库的要旧.如果确认无误 可以使用"git push -f"指令强行提交.

  • git reset (–mixed) HEAD
    回退版本 将暂存区的内容和本地已提交的内容全部恢复到未暂存的状态 不影响原来本地文件(未提交的也不受影响)
  • git reset –soft HEAD
    回退版本 不清空暂存区 将已提交的内容恢复到暂存区 不影响原来本地的文件(未提交的也不受影响)
  • git reset –hard HEAD
    回退版本 清空暂存区 将已提交的内容的版本恢复到本地 本地的文件也将被恢复的版本替换

git status

查看git仓库当前状态 如有无工作区文件未添加到暂存区(Untracked) 工作区文件修改未提交到暂存区(Unstaged) 暂存区的文件未提交到仓库(Changes to be committed)等.
当仓库与工作区 暂存区文件一致时. 提示"nothing to commit, working tree clean".

git tag

查看版本 git tag
创建版本 git tag name
删除版本 git tag -d name
查看远程版本 git tag -r

git pull

拉取远程仓库到本地 git pull remote_name local_branch_name

git push

推送本地仓库到远程 git push origin remote_name
推送本地分支a作为远程的b分支 git push origin a:b
推送本地空分支作为远程的b分支(删除b分支) git push origin :b

Bad decisions make good stories.