跳到主要内容

git 基础

流程

  • 将Git的一个存储库克隆为工作副本。可以通过添加/编辑文件修改工作副本。
  • 如有必要,还可以通过让其他开发人员一起来更改/更新工作副本。在提交之前查看更改。
  • 提交更改:如果一切正常,那么将您的更改推送到存储库。
  • 提交后,如果意识到某些错误并修改错误后,则将最后一个正确的修改提交并将推送到存储库。

设置默认打开的编辑器

git config --global core.editor emacs

初始化 git 配置

    git config --global user.name "ahKevinXy"
git config --global user.email "2502329620@qq.com"

--global 对登录用户所有仓库有效
--local 对单独项目仓库有效
--system 对系统所有用户有效

保存用户名

# 默认15分钟
git config --global credential.helper cache
# 设置时间
git config credential.helper 'cache --timeout=3600'

# 长期保存

git config --global credential.helper store
git config credential.helper store

# git push 超过100M解决办法
git config http.postBuffer 524288000 # (500M)

显示配置

# 获取配置
git config --list --local

git cofig --list --global

git config --list --system

清除配置

git config  --unset  --local user.name # user.email

配置的优先级

local>global>system

克隆仓库

git clone xxxxx

已有文件夹或仓库

    cd existing_folder
git init
git remote add origin XXXXX.git
git add .
git commit
git push -u origin master

导入代码库

git clone --bare https://git.example.com/your/project.git your_path
cd your_path
git remote set-url origin xxxx.git
git push --mirror

删除分支

信息

在删除分支的时候,我们会使用git branch --delete dev来执行.有时还会通过缩写git branch -d dev来代替,使用中我们发现还有git branch -D dev的写法,他们有什么区别呢?

  • -d是--delete的缩写,在使用--delete删除分支时,该分支必须完全和它的上游分支merge完成(了解上游分支,可以点击查看链接),如果没有上游分支,必须要和HEAD完全merge

  • -D是--delete --force的缩写,这样写可以在不检查merge状态的情况下删除分支

  • --force简写-f,作用是将当前branch重置到初始点(startpoint),如果不使用--force的话,git分支无法修改一个已经存在的分支.

# 删除本地分支
git branch --delete dev

# 删除远程分支

git push origin --delete branch

# 删除追踪分支
git branch --delete --remotes <remote>/<branch>

切换tags

# 查看tag

git tag

# 切换到对应tag
git check tag_name
# tag 相当于快照 不能在上面进行修改 修改需要重新切分支进行开发

git checkout -b branch_name tag_name