git基础入门-爱代码爱编程
Git基础入门
1.简介
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2.工作流程
如上图所示,工作区即为本地项目目录所在区域;stage(index)暂存区一般存放在.git
目录下,暂存区也叫作索引;.git
目录是工作区下的隐藏文件夹,是Git的版本库,即为local storage本地仓库;remote storage一般为gitlab、gitbub、gitee等搭建的远端仓库。
3.基础操作
1)配置
- Git的设置使用
git config
命令
#显示当前git的配置信息
$ git config --list
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=e:/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.helper=manager-core
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
user.name=*******
user.email=**********
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
- 编辑Git配置文件
#针对当前仓库
git config -e
#全局设置
git config -e --global
- 设置提交代码时的用户信息
#一般直接全局设置,去掉--global仅针对当前仓库有效
git config --global user.name "hahaha"
git config --global user.email hahaha@gmail.com
2)创建仓库
创建仓库有两种方式,git clone
和git init
#将当前目录设置为Git仓库,执行完会生成.git隐藏文件夹
git init
#后面接目录路径,将指定目录设置为git仓库
git init [path]
#从远程仓库克隆到本地,repo_path为远程仓库链接
git clone <repo_path>
#克隆到指定目录下
git clone <repo_path> <path>
3)提交与修改
- 添加文件到暂存区
git add
#添加一个或多个文件
git add [file1] [file2] [file3]...
#添加目录
git add [dir]
#添加当前目录下所有文件(add后面加点)
git add .
- 提交暂存区文件到本地仓库
git commit
#全部提交,message设置提交的记录信息
git commit -m [message]
#提交指定文件
git commit [file1] [file2] [file3]... -m [message]
#设置修改文件后不用执行git add,直接提交
git commit -a
4)远程操作
- 远程仓库操作
git remote
#显示所有远程仓库,origin为远程地址别名
git remote -v
origin git@github.com:conceiter/git_study.git (fetch)
origin git@github.com:conceiter/git_study.git (push)
#显示某个远程仓库的信息
git remote show [remote]
#在已有本地仓库情况下,需要添加远程仓库
git remote add [lcoal_name] [url]
#例
git remote add origin git@github.com:conceiter/git_study.git
#删除远程仓库
git remote rm [name]
#修改仓库名
git remote rename old_name new_name
- 下载远程代码并合并
git pull
#git pull就是git fetch和git merge的简写
#拉取远程分支到本地分支,如果是与当前分支合并,本地分支可以省略
git pull <远程主机名> <远程分支>:<本地分支>
- 上传远程代码并合并
git push
#如果是本地分支与远程分支名相同,远程分支可以省略
git push <远程主机名> <本地分支>:<远程分支>
#例
git push origin master
#强制推送
git push --force origin master
#删除远程分支
git push origin --delete [分支名]