专业编程基础技术教程

网站首页 > 基础教程 正文

Git(github下载)

ccvgpt 2024-07-28 12:30:02 基础教程 8 ℃


原理介绍

  • 工作区

工作区即本地文件所在的目录。

Git(github下载)

  • 版本库

版本库即本地文件中的.git文件,其中包含了stage(index)或称为缓冲区。在Git创建时,主支称为master。

  • stage:当使用git add命令将文件提交后,实际是进入了缓存区
  • master:当使用git commit 之后才是将缓存区的文件提交到了master或指定分支

创建版本库

  • 创建并首次提交代码
# 1、选择一个合适的目录,作为未来的Git可以管理的仓库
# 2、通过以下命令,将目录变成Git可以管理的目录
git init

# 3、上传需要提交的文件
git add xxxx(你的文件)

# 4、添加提交信息,方便后续查找
git commit -m "xxxx信息说明"
  • 日常代码提交
# 1、查看当前工作区状态
git status

# 2、如上述命令显示有文件修改,可使用以下命令查看修改内容
git diff xxxx(被修改文件)

# 3、确认无误,需要上传时,使用上一部分命令提交即可
  • 代码回滚
# 1、查看提交历史,确定回滚到哪个版本
git log
# 如果觉得参数过多,可以使用
git log --pretty=oneline

# 2、回溯到需要的版本
git reset --head xxxx_id 
# 或者使用
git reset --head HEAD^  # 回到上一版本
git reset --head HEAD^^ # 回到上上版本

# 3、通过命令实现版本的新旧切换
git reflog

常规修改

  • 管理修改
# 1、查看当前工作区和版本库的区别
git diff HEAD --xxx_文件

# 2、查看工作区与satge的区别
git status

# 3、针对修改重新进行提交
git add
git commit
  • 撤销修改
# 1、当工作区修改,但未提交到stage时,使用如下命令,查看工作区和stage的区别
git status

# 2、根据提示重新提交文件
git add xxxx

# 2、或撤销工作区修改,与stage保持一致,使用如下命令
git checkout --xxxx_文件

# 3、如果工作区修改,并且已经add到了stage,此时使用如下命令,把stage中的内容撤销
git reset HEAD xxxx_文件
git checkout --xxxx_文件   # 重新和stage保持一致
  • 删除文件
# 1、删除工作区文件,使用命令或其他方式
rm xxxx_文件

# 2、如果想将版本库中的对应文件,使用如下
git rm xxxx_文件
git commit -m '删除xxxx'

# 3、如果误删,想从版本库恢复到工作区
git checkout -- xxxx_文件

远程仓库

  • 本地推送到远程仓库
# 本地仓库连接远程
git remote add origin git@xxxxxxxxx

# 推送本地内容到远程库
git push -u origin master

# 删除与远程库的连接
git remote -v  # 查看远程库信息
git remote rm xxxx
  • 远程库克隆到本地
# 将远程库克隆到本地
git clone git@xxxxxxx

分支管理

  • 创建合并分支
# 1、创建分支,并切换到分支
git checkout -b dev_xxxx
# 等价于
git switch -c dev

# 等价于
git branch dev
git checkout dev

# 2、查看当前分支
git branch

# 3、切换到其他分支,例如master分支
git checkout master
# 等价于
git switch master

# 4、合并分支,将分支合并到当前分支
git merge dev_xxxx

# 5、删除分支
git branch -d dev_xxx
  • 解决分支冲突
# 1、合并分支
git merge dev_xxx

# 2、有冲突,利用以下命令查看具体区别
git status

# 3、根据提示信息,修改分歧内容,然后提交
git add xxxxx
git commit -m 'xxxx'

# 4、查看分支合并情况
git log --graph --pretty=online --abbrev-commit

# 5、删除无用分支
git branch -d dev_xxxx

# 6、删除没有合并的分支
git branch -D dev_xxxx
  • 临时保存分支
# 1、保存当前工作区
git stash

# 2、查看当前保存的工作区有哪些
git stash list

# 3、恢复保存的工作区
git stash apply xxxx  # 恢复工作区
git stash drop xxxx  # 删除保存的工作区

# 等价于
git stash pop

# 4、master分支上修复的bug,计划合并到当前分支,可以用一下命令,复制到当前分支
git cherry-pick xxxxx
  • 多人协作
# 1、推送分支,即将本地所有推送到远程库
git push origin master

# 2、抓取分支
# 其他人从远程库clone时,默认情况,只能看到本地的master分支
git branch
# 想在dev分支上开发,需要远程origin的dev分支创建到本地
git checkout -b dev origin/dev

# 3、如果有冲突,可用git pull把最新的提交从远程抓取下来
git pull

# 4、如有分支指定错误 可使用
git branch --set-upstream-to=origin/<branch> dev_xxx

# 5、修改差异后再提交

Tags:

最近发表
标签列表