git的基础操作

git的基础操作

一、Git理论

(一)工作区域

基本概念:

  • 工作区:平时存放项目代码的地方。

  • 暂存区(Stage/Index):暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到 文件列 表信息

  • 版本库:又称本地仓库,这个不算工作区,而是 Git 的版本库,里面有你提交到所有版本的数据。

  • 远程仓库:托管代码的服务器


(二)工作流程

  1. 在工作目录中添加、修改文件;

  2. 将需要进行版本管理的文件放入暂存区域;

  3. 将暂存区域的文件提交到git仓库。 因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed


二、基础操作

日常使用命令:

git的基础操作_第1张图片

  1. 先更新远程仓库 (防止其他人更新过项目)

  2. 把本地修改好的文件推送到本地仓库

  3. 再把本地仓库推送到远程仓库


(一)Git基础配置

  1. 生成公钥

    设置绑定SSH公钥,实现免密码登录!

    # 进入 C:\Users\自己的用户名\.ssh   目录
    ssh-keygen -t rsa
    

git的基础操作_第2张图片

#在成功后在终端输入
ssh -T [email protected]

首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You’ve successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功。


  1. 将公钥信息public key 添加到Gitee账户中即可!

git的基础操作_第3张图片


(二)项目上传

  1. 初始化仓库

去到项目的位置,右键选择 Git Bash Here 能快速打开。

# 使用项目目录作为 Git 仓库,我们只需使它初始化。
#该命令执行完后会在当前目录生成一个 .git 目录
git init

  1. 关联远程仓库地址(需要创建在远程仓库上面创建一个空白库存)
#添加远程仓库
git remote add origin 远程仓库链接

# 设置本地分支和远程分支对应上,其中 master是本地分支(默认)
git branch --set-upstream-to=origin/master master

# 更新版本,获取远程仓库的项目新的版本
git pull

git的基础操作_第4张图片



  1. 将本项目本上传到远程仓库

    #提交项目到本地缓存区
    git add .
    
    #提交项目到本地仓库中,并添加提交信息
    git commit -m "第一次提交"
    
    #表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并
    #git pull <远程主机名> <本地分支名>
    git push origin master
    

(三)其它基础命令

#克隆远程仓库项目
git clone  远程仓库链接

#回退版本
git reset

#下载远程代码并合并
git pull 

#提交到远程代码并合并
git push

#强制提交到远程仓库
git push -f origin master

三、分支操作

可以理解多线程:主线程在走,不影响子影响。 它们是平行,互不影响。 但是,他们可以进行合并。 在合并的时候就需要做一些处理了。

master主分支应该非常稳定,用来发布新版本, 一般情况下不允许在上面工作,工作一般情况下在新建的dev分支上工作,工作完后,代码稳定了,再合 并到主分支上来。 比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上来。


(一)git分支中常用指令

# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
git merge [branch]
# 删除分支
git branch -d [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

(二)如果同一个文件在合并分支时都被修改了则会引起冲突

解决引起冲突办法:

  1. 把本地冲突文件另保存起来

  2. 还原本地文件版本。

  3. 修改冲突文件后重新提交!

你可能感兴趣的:(Git,git,github,gitee,版本控制)