Git操作教程

本文介绍了Git的基本操作,包括克隆仓库、配置用户信息、提交与修改文件、版本回滚等。通过`git clone`命令克隆仓库,使用`git config`设置用户信息,`git add`和`git commit`进行提交,`git reset`进行版本回滚。此外,还提到了如何在不同分支间切换和合并,以及如何解决冲突。

Git基本介绍

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。Git 是分布式的,SVN 不是,即Git在不联网的情况下依旧可以提交,而SVN需要联网的情况下才可以使用。
工作区: 在电脑里能看到的目录
暂存区: git add 后还没commit 即在暂存区
版本库: 已经commit的

拉取配置仓库

git clone
我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

克隆仓库的命令格式为:

git clone
如果我们需要克隆到指定的目录,可以使用以下命令格式:

git clone
参数说明:

repo:Git 仓库。
directory:本地目录。
比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:

$ git clone git://github.com/schacon/grit.git
执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。

如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit

配置

git 的设置使用 git config 命令。

显示当前的 git 配置信息:
$ git config --list
credential.helper=osxkeychain
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true

编辑 git 配置文件:

$ git config -e # 针对当前仓库
或者:

$ git config -e --global # 针对系统上所有仓库

设置提交代码时的用户信息:

git config --global user.name “runoob”
git config --global user.email test@runoob.com
git config --global http.proxy “localhost:50321” 配置代理
git config --global user.password “your password” 配置密码
git config --list 列举git配置
git config --global credential.helper store 设置保存密码,输入一次后,后续不需要再输入

提交与修改:

git add 添加文件到暂存区
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git commit 提交暂存区到本地仓库。
git reset 回退版本。
git rm 删除工作区文件,这个和git add是相对的
git rm --cached runoob.txt 从暂存区删除文件,在工作区仍旧保留文件,加上–cache参数
git mv 移动或重命名工作区文件。
git log 查看历史提交记录
git pull 下载远程代码并合并
git push 上传远程代码并合并
git branch 列出分支
git branch (branchname) 创建一个分支
git checkout -b (branchname) 创建分支并切换到该分支
git branch -d (branchname) 删除分支
git merge newtest 将分支合并到当前分支上
git blame 查看指定文件的修改记录
git tag -a -m “版本发布” 打标签并添加内容注释
git show 查看只当版本的修改

修改提交到多个分支:
1.先在dev分支提交,然后通过git log看到提交的commit id
2. git switch windows_dev 切换分支
3. git cherry-pick commit_id 获取指定修改
4. 有冲突会提示如有冲突解决冲突,没有的话直接git push
解决冲突通过git status 查看冲突的文件,随后vim打开进行修改,冲突的地方会有<<这样的符号

# 丢弃本地修改,更新至最新的commit:
git clean -xdf 清除掉本地的修改,用于清除未被track的文件(即未被add的文件)
-f 表示文件
-d 表示目录
-x .gitignore中的文件

版本回退:

git reset [–soft | --mixed | --hard] [HEAD] reset 用于将track的文件回滚到某一个版本

–mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变(之前的git add会失效)
–soft 参数用于回退到某个版本,之前的git add依然生效的
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交

版本回滚

git revert 版本号 回滚到指定的版本
git reset 和 git revert 的差别在于git reset会修改历史提交记录,而git revert会产生一条新的提交记录,代码与之前的版本保持一致;

仓库迁移

有时我们不得不将仓库迁移至新的仓库,但是又不想丢失之前的提交log,这时我们可以先将仓库clone到本地,然后将整个仓库推到新的仓库:
git push --mirror http://192.168.1.100/abc/test.git
注意: 我们需要先将仓库设置为unprotected;

git操作教程涵盖多方面内容,以下从多个维度进行介绍: ### 命令行操作 #### 基本状态与记录查看 - `git status`:用于查看当前工作区和暂存区的状态,能了解文件的修改、添加或删除情况[^1]。 - `git log`:查看提交记录,可清晰知晓项目的版本演变过程[^1]。 #### 分支管理 - `git branch`:管理分支,可用于查看、创建、删除分支等操作[^1]。 #### 远程仓库管理 - `git remote`:管理远程仓库,如添加、查看、删除远程仓库操作[^1]。 #### 代码上传到远程仓库并创建新分支 若在本地写了一版代码,想上传到公司服务器上某个已有仓库,并创建一个新的分支,可按以下步骤操作: ```bash # 进入工程目录下,初始化 git init git add . git commit -m 'init commit' # 关联远程仓库 git remote add origin 远程仓库git checkout -b dev_name # 推送分支 -u 关联远程分支,这里会自动创建新的远程分支 git push -u origin dev_name # 附加一种特殊操作,强制覆盖远程分支内容 git push -f origin dev_name ``` 上述代码中,`git init` 用于初始化仓库,`git add .` 将所有文件添加到暂存区,`git commit -m 'init commit'` 进行提交操作,`git remote add origin 远程仓库名` 关联远程仓库,`git checkout -b dev_name` 创建并切换到新分支,`git push -u origin dev_name` 推送新分支到远程仓库,`git push -f origin dev_name` 可强制覆盖远程分支内容[^3]。 ### 操作流程 #### 下载安装git - 判断git是否安装成功。 - 打开Git Bash,可在文件夹中打开,也可在Vs code中打开。 - 配置用户及邮箱。 #### 命令行操作细分 - **暂存、工作区命令**:让git仓库管理文件夹,了解Git的三个区域(工作区、暂存区、本地仓库)和git文件状态,掌握暂存区的使用。 - **版本、分支命令**:包括版本操作(切换版本、删除版本)、文件操作(删除文件、忽略文件)、分支操作(创建、切换、删除分支、合并分支)。 - **远程仓库命令**。 #### 图形化操作 也可通过图形化界面进行git操作,简化操作流程,提高操作效率[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值