Git命令行
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
基本操作命令
一般步骤:
下载远程仓库: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