Git基本用法教程

1. Git安装

Git(官网:https://git-scm.com/download/)安装之后鼠标右键会自动多出两个选项,这时就代表了安装成功

2. git初始化及提交

第一次clone 使用ssh-keygen -o 生成ssh密钥

Git global setup

git config --global user.name "username"
git config --global user.email "email@123.com"ssJ

远程到本地

git clone [url]   //获取全部分支内容,整体下载时间较长 & 所占磁盘空间较大
git clone -b [branch] [url]   //拉取特定分支
git clone -b  [branch] --single--branch git_[url] // 获取指定分支的代码
git clone --depth 10 [branch]  //只会获取最近 xx(10条提交记录的)代码,默认是master分支, 如果想要指定分支,可以结合 -b --single--branch 使用!

提交创建文件目录

cd existing_folder
git init    //初始化
git remote add origin [url]    //上传的代码仓库地址
git add .   //收集本地文件
git commit  -m "提交版本信息" //提交信息
git push -u origin master         //更新到服务器
使用git commit --amend 修改commit信息

删除文件 或文件夹

本地删除 :git rm -r  [file/dir]
本地提交:git commit -m “修改信息”
推送服务器 git push origin [url]

3. 错误处理:

(1)第一次提交代码
把代码上传到master分支上执行如下。

git push -u origin master 

在使用git 对源代码进行push到gitHub时可能会出错, 错误代码如下:

hint: Updates were rejected because the tip of your current branch is behin
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

尝试下面的命令

git getch
git merge


git pull (网上说与上两个命令作用相同?)
但是仍然不行
出现错误的主要原因是github中的README.md文件不在本地代码目录中
可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master

同步远程仓库更新到本地
git pull --rebase origin master
执行上面代码后可以看到本地代码库中多了README.md文件

此时再执行语句 git push -u origin master即可完成代码上传到github
##2. 本地落后远程 且存在较大分歧。想要拉去远程最新的版本到本地
提示: Your branch and ‘origin/master‘ have diverged
可执行如下命令

git fetch origin
git reset --hard origin <branch>

4. 分支操作

在本地新建分支: git branch newBranch
切换新分支: git checkout newBranch
创建并切换到新分支: git checkout -b newBranch
将新分支发布在远程服务器上: git push origin newBranch
在本地删除一个分支: git branch -d newBranch
同步远程端删除一个分支: git push origin :newBranch (分支名前的冒号代表删除)

删除远程分支
git push origin --delete [branch_name]

5. 子模块:

5.1 子模块的添加

添加子模块非常简单,命令如下:
git submodule add
其中,url为子模块的路径,path为该子模块存储的目录路径。
执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径)
git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要
git commit提交即完成子模块的添加

5.2 子模块删除

 git submodule deinit submodule_name
git rm submodule_name
rm -rf .git/modules/submodule_name

5.3 子模块的使用

5.3.1 将新的 URL 复制到本地配置中

$ git submodule sync --recursive
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
git submodule init
git submodule update
或:
git submodule update --init --recursive

6. 仓库迁移

迁移至不同的 Git 托管服务

备份原仓库:在迁移前,确保备份原始仓库。

创建新仓库:在目标 Git 托管服务上创建一个新的仓库。

克隆原仓库:使用 Git 克隆命令将原仓库克隆到本地:


git clone --mirror <原仓库地址>

进入克隆的仓库目录:

cd <仓库名称>

添加新远程地址:将新创建的仓库设置为新的远程地址:

git remote set-url --push origin <新仓库地址>

推送到新仓库:

git push --mirror

在同一个托管服务中进行仓库的迁移

备份原仓库:同样,在进行任何操作之前,请确保备份原始仓库。

创建新仓库:如果需要将仓库从一个用户或组织下迁移到另一个用户或组织下,请确保目标用户或组织中已创建新的仓库。

导出原仓库:在原仓库的设置或管理页面中,查找导出或迁移仓库的选项。有些 Git 托管服务提供了直接的导出功能,可以将仓库导出为一个压缩文件。

导入到新仓库:在目标用户或组织的管理页面中,查找导入或导入仓库的选项。将刚刚导出的仓库文件上传或导入到新的仓库中。

验证迁移结果:确保所有分支和提交都已成功迁移到新的仓库中

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值