持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
Git环境配置
当安装Git后首先要做的事情是设置用户名称和email地址,每次Git提交都会使用该用户信息,设置的信息保存在
~/.gitconfig文件中
设置用户信息
git config --global user.name “your name”
git config --global user.email “xxx.@gmail.com”
查看配置信息
git config --list
git config user.name
本地仓库命令
仓库初始化
要使用Git对代码进行版本控制,首先需要获得Git仓库,获取Git仓库通常有两种方式:
1.在本地初始化一个Git仓库
1.在任意位置创建一个空目录作为本地Git仓库
2.进入这个目录,右键打开Git bash窗口
3.执行命令git init
2.从远程仓库克隆
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地。命令:
git clone 远程Git仓库地址
查看状态命令
git status 查看文件状态
git status –s 使输出信息更加简洁
将未跟踪的文件加入暂存区
git add xxxx
将暂存区的文件取消暂存
git reset
将暂存区的文件修改提交到本地仓库
git commit
删除文件
git rm
将文件添加至忽略列表
通常自动生成的文件,如日志文件、编译生成文件、临时文件等,这些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。
在工作目录中创建一个名为 .gitignore的文件(文件名称固定),列出要忽略的文件模式。
.idea/
*.iml
target/
查看日志记录
查看日志记录
git log
远程仓库命令
查看远程仓库
查看已经配置的远程仓库服务器,运行
git remote命令。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字
git remote
git remote -v
添加远程仓库
git remote add origin git@github.com:xxx.git
从远程仓库克隆
Git克隆的是该Git仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件
当执行
git clone命令时,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。
git clone git@github.com:xxx.git
移除无效的远程仓库
因为一些原因想要移除一个远程仓库 ,可以使用
git remote rm 仓库别名。此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
git remote rm origin
从远程仓库中抓取与拉取
前提:本地仓库是从远程仓库克隆。
git fetch:从远程仓库获取最新版本到本地仓库,不会自动merge
git pull:从远程仓库获取最新版本并merge到本地仓库
若仓库只是本地创建的仓库,且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错:
fatal: refusing to merge unrelated histories。解决:在git pull命令后加入参数--allow-unrelated-histories
推送到远程仓库
命令格式:git push [remote-name] [branch-name]
git push origin master
Git分支命令
使用分支意味着可以把工作从开发主线上分离开来,以免影响开发主线。
Git 的master分支并不是一个特殊分支, 跟其它分支没有区别。 每一个仓库都有 master 分支,是因为
git init命令默认创建它。
查看分支
列出所有本地分支
git branch
列出所有远程分支
git branch -r
列出所有本地分支和远程分支
git branch -a
创建分支
git branch test
切换分支
git checkout test
推送至远程仓库分支
git push origin test
合并分支
git merge test
如果在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没办法合并它们,同时会提示文件冲突。此时需要打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决。
删除分支
删除本地分支
git branch -d test
删除远程仓库中的分支
git push origin –d branchName
Git标签命令
Git可以给历史中的某一个提交打上标签,通常是以使用功能来标记发布结点(如:v1.0 、v1.2)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便的切换到标记时的状态。
列出已有标签
列出所有tag
git tag
查看tag信息
git show [tag]
创建新标签
创建新标签,新建一个tag
git tag [tagName]
将标签推送至远程仓库
git push [remote] [tag]
检出标签
新建一个分支,指向某个tag
git checkout -b [branch] [tag]
删除标签
删除本地tag
git tag -d [tag]
删除远程tag
git push origin :refs/tags/[tag]