Git命令的简单使用

107 阅读4分钟

Git命令行

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 image-20210926101652318.png

基本操作命令

一般步骤:

下载远程仓库:git clone [registryUrl]

添加远程仓库:git remote [diyName] [registryUrl]

添加文件到暂存区:git add xxx

将暂存区内容添加到本地仓库(版本库):git commit -m 'xxx'

将本地仓库内容添加到远程仓库:git push

git add

添加一个或多个文件到暂存区:

        git add [file1] [file2]...

添加指定目录到暂存区,包括子目录:

        git add [dir]

添加当前目录下的所有文件到暂存区:

        git add .
git diff

显示暂存区和工作区的差异:

        git diff  [file]

显示暂存区和上一次提交(commit)的差异

        git diff --cached [file]
git commit

提交暂存区到本地仓库中

        git commit -m 'xxxx'

提交暂存区的指定文件到仓库区

        git commit [file1] [file2] ... -m 'xxxx'

-a 参数设置修改文件后不需要执行 git add 命令,直接来提交

        git commit -a

如果没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认会打开 vim,如果不想这么麻烦,加-a参数

        git commit -am ‘xxxx’
git reset

回退所有内容到上一个版本

        git reset HEAD^
        git reset HEAD^^        回退到上上个版本
        git reset HEAD^^^       回退到上上上个版本,,,以此类推
        git reset HEAD~1        回退所有内容到上一个版本
        git reset HEAD~2        回退到上上个版本
        git reset HEAD~3        回退到上上上个版本,,,以此类推

回退文件的版本到上一个版本

        git reset HEAD^ [file]

回退到指定版本

        git  reset  xxx
git rm

将文件从暂存区和工作区中删除

        git rm [file]

强行从暂存区和工作区中删除文件

        git rm -f [file]

把文件从暂存区域移除

        git rm --cached [file]
git pull

用于从远程获取代码并合并本地的版本

        git pull <远程主机名> <远程分支名>:<本地分支名>

远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并

        git pull origin master:brantest
git push

将本地的分支版本上传到远程并合并

        git push <远程主机名> <本地分支名>:<远程分支名>

本地分支名与远程分支名相同,则可以省略冒号

        git push <远程主机名> <本地分支名>

远程仓库

检出仓库: git clone git://github.com/jquery/jquery.git

查看远程仓库: git remote -v

添加远程仓库:git remote add [name] [url]

删除远程仓库:git remote rm [name]

修改远程仓库:git remote set-url --push[name] [newUrl]

拉取远程仓库:git pull [remoteName] [localBranchName]

推送远程仓库:git push [remoteName] [localBranchName]

在本地创建git仓库:选择文件夹 git init

分支(branch)

查看本地分支:git branch

查看远程分支:git branch -r

创建本地分支:git branch [branchName]

切换分支:git checkout [branchName]

创建并切换到新分支:git checkout -b [branchName]

删除分支:git branch -d [branchName] -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果强制删除一个分支,可以使用-D

合并分支:git merge [branchName] ----将名称为[branchName]的分支与当前分支合并

创建远程分支(本地分支push到远程):git push origin [branchName]

删除远程分支:git push origin -d [branchName]

版本(tag)

查看版本:git tag

创建版本:git tag [name]

删除版本:git tag -d [name]

查看远程版本:git tag -r

创建远程版本(本地版本push到远程):git push origin [name]

删除远程版本:git push origin :refs/tags/[name]

子模块(submodule)

添加子模块:git submodule add [url] [path]

如:git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs

初始化子模块:git submodule init ----只在首次检出仓库时运行一次就行

更新子模块:git submodule update ----每次更新或切换分支后都需要运行一下

删除子模块:(分4步)

1、git rm --cached [path]

2、编辑“.gitmodules”文件,将子模块的相关配置节点删除掉

3、编辑“.git/config”文件,将子模块的相关配置节点删除掉

4、手动删除子模块残留的目录

忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

test
.db
target