后端实践--git
的简单使用
这篇博客主要整理了一下git
的常用命令,主要分为三个部分:一是版本管理命令,二是分支管理命令,三是远程协作开发命令。其实很多命令都是看到名字就大概知道其主要作用了,多敲几遍就熟悉了。
1、版本管理命令(增、删、改、版本回退)
git init
这个命令是在本地当前目录下创建一个仓库,执行完成当前目录下会有一个.git
的隐藏文件。git config
该命令可以用于配置本地仓库的各类信息。如:
git config [--global] user.name "your name"
配置用户名称git config [--global] user.email "your email"
配置用户邮箱
- 其中添加可选项
--global
是指该配置在本机都有效。 git add
这个命令是把特定或全部工作区的修改添加到==暂存区(stage)==,-f
选项强制添加。git commit
该命令将暂存区的特定或所有修改添加到==版本库==,这时我们的工作区代码就可以被Git
管理了。==注意==这个命令有个-m "message"
选项,一定要带上,且message
内容要好好写,注明此次提交有哪些更改,方便日后查看!git log
查看提交记录。一些美化输出的选项:--pretty=onyline
、--abbrev-commit
,--graph
可以输出分支图。git cat-file
后接commit id
可以查看这次commit
的详细信息,并且通过输出内容可以一直回溯到以前的提交,还可以通过输出信息查看project
里的内容。-p
选项可以美化输出。git status
查看仓库当前状态,也就是上次commit
后是否有对工作区的内容做修改。git diff [file]
显示工作区和暂存区file
文件的差异,也就是这个file
里写了那些内容还没add
git reset [--soft | --mixed | hard] [HEAD]
进行版本回退。--soft
只将版本库回退到指定版本,而工作区和暂存区不变;--mixed
将版本库和暂存区都会退到指定版本,==但是工作区内容不变==,这也是默认选项;--hard
就是版本库、工作区、暂存区都回退到指定版本,==这个要慎用==,要是工作区有代码还没commit
,那就没了!![HEAD]
可以是指定commit id
,也可以是:HEAD
表示当前版本,HEAD^
表示上一个版本,HEAD^^
表示上上个版本,以此类推。git reflog
显示本地的commit
命令,主要用于版本回退的时候找对应的commit id
git checkout -- [file]
使工作区的文件回到最近一次add
或commit
时的状态。==那个--
一定要有,不然就是另一个意思了,在分支命令中说==。git rm [file]
删除工作区和==暂存区==的文件。
2、分支管理命令(创建、切换、合并、删除)
git branch [branch-name]
创建分支,不带任何参数是查看当前分支,-r
查看远程分支,-a
查看所有的分支,-vv
查看本地分支和远程分支的连接信息。git checkout branch-name
切换分支。可以使用git checkout -b branch-name
创建分支并切换到branch-name
分支。git merge branch-name
合并分支,将指定分支合并到当前分支。==注意==,默认情况下会以Fast Forward
的形式合并,但是这种形式的合并我们无法查看这次修改是合并的还是commit
的,所以Git建议我们不要使用这种形式!加上参数--no-ff
即可,这时也必须同时加上参数-m "message"
,为这次合并创建一次提交。git branch -d branch-name
删除分支。git stash
该命令用于将当前工作区的信息进行存储(在.git/refs/stash),这样使得某个分支修改后但还没有commit
的信息不影响其他分支。用法如下
git stash
直接进行存储。git stash list
查看当前有哪些存储。git stash pop [stash-name]
恢复某个存储,同时删除存储。git stash apply [stash-name]
恢复某个存储,但是并不删除存储。git stash drop [stash-name]
删除某个存储。
3、远程协作开发命令
git clone
克隆远端仓库到本地。git remote
查看远程仓库信息,-v
选项可以查看更详细的。git push [remote-machine] [local-branch]:[remote-branch]
推送本地仓库内容到远端,如果当前本地分支和远端分支建立连接的话后面的信息可以省略。git pull [remote-machine] [remote-branch]:[local-branch]
拉取远端内容到本地并和本地内容合并。git check-ignore -v file-name
检查一下文件在.gitignore
里的信息。git tag
查看标签信息,其他用法如下:
git tag tag-name
给最近一次commit
打标签tag-name
git tag tag-name commit-id
给特定commit
打标签。git tag -a tag-name -m "message" commit-id
给标签加上描述信息。git tag -d tag-name
删除标签。
git show tag-name
查看标签信息。
以上就是一些常用的git
命令,希望能有所帮助。