代码编织梦想

Git基础入门


1.简介

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

2.工作流程

git工作流程

​ 如上图所示,工作区即为本地项目目录所在区域;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 clonegit 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 [分支名]
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_46336605/article/details/129673743

go merge --ff --no-ff --ff-only三种模式的区别-爱代码爱编程

前言 git merge 应该是开发者最常用的 git 指令之一, 默认情况下你直接使用 git merge 命令,没有附加任何选项命令的话,那么应该是交给 git 来判断使用哪种 merge 模式,实际上 git 默认执行的指令是 git merge -ff 指令(默认值) 对于专业的开发者来说,你可能无须每次合并都指定合并模式(如果需要的话还是要指