GIT本地仓库和远程仓库基础应用
基本概念
我们先来理解下 Git 工作区、暂存区和版本库概念:
工作区:就是你在电脑里能看到的目录。
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:
创建新仓库
创建新仓库分为两种情况:新建空仓库和从远程仓库 clone 一个仓库到本地。
首先配置自己的用户
$ git config --global user.name “马杰”
$ git config --global user.email xx@xx.com
新建空仓库
在本地新建一个空目录,进入该目录,执行以下命令:
$ git init
Git 会将该目录初始化为一个 Git 仓库,并在该目录下生成一个 .git
目录,用于保存 Git 相关信息。
从远程仓库 clone
如果想要获取已有的远程仓库,可以通过 clone
命令将远程仓库克隆到本地。例如,以下命令可以将 GitHub 上的一个仓库克隆到本地:
在本地可以通过 ssh 进行克隆
$ git clone 用户名@ip:端口/路径
添加和提交文件
在 Git 中,每个文件的修改都需要进行 add
和 commit
操作。
添加文件
在将修改后的文件提交到 Git 仓库之前,需要先将该文件添加到 Git 的暂存区。可以通过以下命令进行操作:
$ git add file.txt
也可以 添加所有内容
$ git add .
提交文件
将添加到暂存区的文件提交到 Git 仓库中,可以使用以下命令:
$ git commit -m "填写本次提交了哪些东西 修改了哪些bug等等"
其中 -m
参数用于添加提交信息,建议在每次提交时都添加提交信息。
查看状态和记录
Git 可以记录每次提交的历史记录,包括提交者、提交时间、提交信息等。
查看状态
查看当前 Git 仓库的状态,包括已经修改但未提交的文件、已经添加但未提交的文件等等,可以使用以下命令:
$ git status
查看历史记录
查看 Git 仓库的提交历史记录,可以使用以下命令:
$ git log
该命令会列出所有的提交记录,按照提交时间的先后顺序排列。
分支管理
Git 支持创建分支、切换分支、合并分支等操作,可以方便地进行代码管理和协作开发。
创建分支
创建一个新的分支,可以使用以下命令:
$ git branch mj
该命令会在当前分支基础上创建一个新的分支 mj
。
切换分支
切换到已经存在的分支,可以使用以下命令:
$ git checkout branch_name
其中 branch_name
为目标分支的名称。
合并分支
将目标分支合并到当前分支,可以使用以下命令:
$ git merge branch_name
其中 branch_name
为目标分支的名称。
远程操作
Git 支持与远程仓库进行交互,包括拉取、推送代码等操作。
拉取代码
从远程仓库获取最新代码,可以使用以下命令:
$ git pull
该命令会拉取远程仓库中的所有分支代码,并自动合并到本地分支。
推送代码
将本地分支的代码推送到远程仓库,可以使用以下命令:
$ git push
该命令会将本地分支的代码推送到远程仓库的对应分支。
总结
以上就是 Git 的基本使用教程,包括安装 Git、创建新仓库、添加和提交文件、查看状态和记录、分支管理、远程操作等。在实际开发过程中,还有很多高级用法需要掌握,例如 Git rebase、Git stash 等等。希望这个简单的教程对您有所帮助!
本地仓库处理
-
初始化账号
$ git config --global user.name “马杰”
$ git config --global user.email xx@xx.com -
新建仓库并初始化
在需要建立仓库的文件夹下操作
git init
- 添加文件到暂存区
下面命令选择自己需要的进行处理
git add . #添加所以文件 .表示 ./* 表示当前文件夹下面的所有文件
#指定文件操作
git add *.cpp #添加所有cpp文件
git add *.h #添加所以的头文件
git add 1.cpp #指定添加 1.cpp文件
- 提交文件到仓库
git commit -m "填写本次提交的修改或者新增的内容" #将暂存区的文件提交到仓库
远程操作
- 拉去仓库
git clone 用户名@ip:端口/路径 #如果使用默认端口则无需填写直接使用 git clone 用户名@ip:/路径
#eg: 默认端口情况
git clone mj@192.168.1.1:C:\Users\yp\.ssh\mj
#eg: 其他端口情况
git clone mj@192.168.1.1:C:1080\Users\yp\.ssh\mj
- 切换分支
git checkout 分支名称
#eg :
git chechout master
- 如果 第一次使用需要创建分支 然后切换
git branch 分支名称
#eg:
git branch master
- 添加文件到暂存区
下面命令选择自己需要的进行处理
git add . #添加所以文件 .表示 ./* 表示当前文件夹下面的所有文件
#指定文件操作
git add *.cpp #添加所有cpp文件
git add *.h #添加所以的头文件
git add 1.cpp #指定添加 1.cpp文件
- 提交文件到仓库
git commit -m "填写本次提交的修改或者新增的内容" #将暂存区的文件提交到仓库
- 项目完成合并分支
分支在进行合并后会写入主分支master 所以每个人的文件名称尽可能的不要相同
git merge 需要合并的分支名称
回退
在 Git 中,你可以使用 git reset
命令来将本地分支的 HEAD 移动到指定的提交上。如果你想回退到上一次的提交,可以执行以下命令:
git reset --hard HEAD^
这会将本地分支的 HEAD 指向上一个提交,同时重置你的工作目录和暂存区以匹配该提交。
如果你不想重置你的工作目录和暂存区,而只想将 HEAD 指向上一个提交,可以使用 git reset
命令的 --soft
选项:
git reset --soft HEAD^