Git 指令集
安装:
sudo apt-get install git
配置:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
创建版本库:
初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
-
第一步,使用命令
git add <file>,注意,可反复多次使用,添加多个文件; -
第二步,使用命令
git commit,完成。
-
要随时掌握工作区的状态,使用
git status命令。 -
如果
git status告诉你有文件被修改过,用git diff可以查看修改内容。
-
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。 -
穿梭前,用
git log可以查看提交历史,以便确定要回退到哪个版本。 -
要重返未来,用
git reflog查看命令历史,以便确定要回到未来的哪个版本。
1、当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
2、当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
git rm
远程库管理:
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,使用命令git push origin master推送最新修改;
git clone命令克隆服务模块submodule
git submodule add 仓库地址 路径
其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。
注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)
命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”的文件,其中记录了子模块的信息。添加完成以后,再将子模块所在的文件夹添加到工程中即可。
删除
submodule的删除稍微麻烦点:首先,要在“.gitmodules”文件中删除相应配置信息。然后,执行“git rm –cached ”命令将子模块所在的文件从git中删除。
下载的工程带有submodule
当使用git clone下来的工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来的,此时,只需执行如下命令:
git submodule update --init --recursive
后续更新submodule
git submodule foreach git pull
分支管理
创建分支:
git checkout -b dev
列出所有分支:
git branch
切换分支:
git checkout master
合并分支:
git merge dev
删除分支:
git branch -d dev
强行删除分支:
git branch -D dev
日志查询:
git log --graph --pretty=oneline --abbrev-commit
分支合并参数:--no-ff,表示保留分支信息,禁用Fast
forward
git merge --no-ff -m "merge with no-ff" dev
Bug分支:
保存现场
git stash
现场列表:git stash list
现场恢复并退出第一现场:git stash pop
恢复栈顶现场:git stash apply退出栈顶现场:git stash drop
恢复指定现场:git stash apply stash@{0}
查看远程分支:
git remote -v
推送分支:
git push origin master/dev
标签管理:
-
命令
git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id; -
git tag -a <tagname> -m "blablabla..."可以指定标签信息; -
git tag -s <tagname> -m "blablabla..."可以用PGP签名标签; -
命令
git tag可以查看所有标签
-
命令
git push origin <tagname>可以推送一个本地标签; -
命令
git push origin --tags可以推送全部未推送过的本地标签; -
命令
git tag -d <tagname>可以删除一个本地标签; -
命令
git push origin :refs/tags/<tagname>可以删除一个远程标签。
别名配置:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'
git config --global alias.last 'log -1'
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
本文详细介绍了Git的基本操作流程及常用指令,包括安装配置、版本库管理、远程库同步、分支管理等,适合初学者快速上手。

22万+

被折叠的 条评论
为什么被折叠?



