git常用命令


git常用命令

参考文档:git-book

init

初始化仓库
git init

clone

克隆远端仓库的内容到本地
git clone https://github.com/xxx/xxx.git

add

作用:把文件加入git跟踪或把文件修改添加入暂存区或者在解决完冲突后标记为已解决。

将这个命令理解为“精确地将内容添加到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。
所有被add的文件在都会出现在下一次commit的内容中。

git add .

将当前目录及所有子目录下的文件添加入暂存区:
git add .

git add <pathspec>

添加目录或文件到暂存区或添加跟踪
git add xxx

config

作用:查看或修改git的配置
最常见的是配置项目的user.name,user.email,remote url等。

git的config有三个等级,分别为 –local, –global, –system。
local的生效范围最小,只在当前项目内生效,但是优先级最高。保存在每个项目的.git/config下。
global的生效范围中等,在当前用户内生效,优先级中等。保存在C:\Users\LENOVO\.gitconfig下。
system的生效范围最广,在当前计算机内生效,优先级最低。保存在安装目录下的etc\gitconfig下。

所有的config操作都可以加上–local,–global,–system指定对哪个配置操作

另外,因为默认只有一个worktree,所以worktree和local的配置是一样的。如果创建了新的worktree,也可以使用–worktree。

git list

列出指定位置的配置:
git list [location]
如果不加location则会列出当前位置能获取到的所有配置

常用配置项

git config [--local|--global|--system] user.name "xxxxx"
git config [--local|--global|--system] user.eamil "xxxxx@xx.com"
git core.autocrlf true

非常用配置项

git config [--local|--global|--system] core.editor vim
git config [--local|--global|--system] merge.tool vimdiff

添加删除自定义配置项

添加自定义配置项:
git config [--local|--global|--system] --add group.key value

删除自定义配置项
git config [--local|--global|--system] --unset group.key

branch

作用:分支的创建切换合并删除等操作

git branch

创建新分支:
git branch <branchName>

all

查看所有远程分支和本地分支:
git branch --all

delete

删除指定分支:
git branch <-d|--delete> <branchName>

checkout

切换到指定分支:
git checkout <branchName>

基于当前分支创建新分支并切换到新分支
git checkout -b <branchName>

等同于git branch <branchName>git checkout <branchName>的组合

基于指定分支创建新分支并切换到新分支:
git checkout -b <baseBranch> <newBranch>

merge

merge命令需要注意方向,是把指定分支代码合入本分支

合并指定分支到本分支:
git merge <branchName>

合并在合并完成后执行commit:
git merge <branchName> --commit

终止合并:
git merge --abort

合并冲突解决完毕:
git merge --continue
或者
git add .git commit -m "message"

合并指定的两个分支:
git merge <branchName1> <branchName2>
指定合并branchName1

rebase

rebase命令注意方向,是把本分支变基到指定分支。
P.S.当本分支相对于指定分支有多个提交的话需要执行多次代码合并或解决冲突。而merge命令只需要执行一次。

git rebase <branchName>可以把本分支变基到指定分支

终止变基:
git rebase --abort

变基冲突解决完毕:
git rebase --continue
不推荐用git add .git commit -m "message"组合命令
如果这样做了可以用git rebase --skip结束rebase进程。

stash

作用:贮藏当前暂存区和工作区的内容。贮藏的内容是可以跨分支使用的。

git stash

贮藏当前修改
git stash

list

列出当前贮藏的所有内容
git stash list

apply

应用指定的stash到当前分支,如果不指定stash默认是最近的一个。
git stash apply [<stash>]

drop

移除指定的stash,如果不指定stash默认是最近的一个。
git stash drop [<stash>]

pop

应用指定的stash并移除,如果不指定stash默认是最近的一个。
git stash pop [<stash>]

stash branch

从贮藏创建一个新分支
git stash branch <newBranchName>

commit

把暂存区的内容提交
git commit -m "message"

修正上次的commit,可以修改文件,提交信息等:
git commit --amend

reset

fetch

pull

push

pick

help

revert

丢弃未暂存内容

推荐网站

廖雪峰
可视化

推荐工具

idea sourcetree fork


文章作者: suifeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 suifeng !
  目录