0


Git常用操作

Git常用操作

1. Git基本知识

图片从菜鸟教程获取
工作区、暂存区和版本库的区别

工作区:就是你在电脑里能看到的目录。
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

远程仓库:本地仓库修改完毕,需要提交到GitHub等代码管理网站上的远程仓库上。

2. 基本使用

0. git配置

最基本的用户名和邮箱。邮箱作为git账号,需要和远程github或者gitee等网站账号相同。

git config --global user.name <name>git config --global user.email <email>

1. 创建本地仓库

git init

# git initgit init # 初始化当前目录为git本地仓库git init <git_dir># 指定git_dir目录为仓库目录

2. 拷贝远程git项目

git clone 拷贝远程仓库到本地

# git clonegit clone <git地址># 拷贝指定git项目到当前目录git clone <git地址><local_dir># 拷贝指定git仓库项目到指定目录下

3. 提交修改

gitadd<file># 提交工作区指定修改文件到暂存区gitadd.# 提交当前目录下所有修改到暂存区git commit -m '描述信息,提交记录'# 提交暂存区中所有修改到版本库

4. 本地其他基本操作

git status # 查看仓库状态gitdiff# 比较工作区和暂存区文件差异

5. 回退代码

git reset

git reset [--soft | --mixed | --hard][HEAD]
  • –mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
  • –soft 参数用于回退到某个版本。只有本地库回退到指定版本。
  • –hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。三个区都同步。

HEAD 说明:

  • HEAD 表示当前版本
  • HEAD^ 上一个版本
  • HEAD^^ 上上一个版本
  • HEAD^^^ 上上上一个版本
  • 以此类推…

可以使用 ~数字表示:

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本
  • HEAD^2 上上一个版本
  • HEAD^3 上上上一个版本
  • 以此类推…

6. 移动和删除

git rm

从工作区和暂存区删除某个文件:

gitrm<file>

只从暂存区删除,继续保留在工作区:

gitrm --cached <file>

递归删除:

gir rm -r <dir>
git mv

移动或者重命名

gitmv<file><newfile>

如果新文件名已存在,可以加

-f

进行强制重命名

3. 日志操作

1. 查看历史提交记录

git log 查看历史提交记录

git log # 查看历史提交记录,默认为 新---> 旧,即最新的在最上面git log --oneline # 一行的形式查看提交记录git log --graph # 开启拓扑图选项git log --reverse # 由旧到新查看提交记录git log --author <authorName># 查看指定提交人的提交记录git log [ --since | --before | --until | --after ]<time># 查看指定时间段的提交记录

2. 查看指定文件的历史修改记录

git blame <file> 查看指定文件的历史提交记录

4. 远程操作

提交本地代码仓库的修改到远程仓库、拉取远程仓库的代码到本地等操作

1. git remote

git remote -v # 查看当前git本地目录对应的远程仓库信息git remote show [remote-url]# 查看指定远程仓库信息git remote add[remote-name][remote-url]# 添加远程版本库git remote rm[remote-name]# 删除本地仓库对远程仓库的管理,并非删除远程代码仓git remote rename old_name new_name # 修改仓库名

2. git fetch/git merge

在已有远程仓库的前提下,通过该命令查看远程仓库的指定分支是否有对应修改,然后可以通过git merge进行合并

git fetch [remote-name]# 查看远程仓库是否有更新git merge [remote-name]/[branch]# 合并远程修改到本地

3. git pull

git pull 命令用来从远端仓库获取代码并合并到本地。其实就是git fetch 和 git merge HEAD 的简写形式。

git pull <远程主机名><远程分支名>:<本地分支名>

注意:假设远程分支名和本地分支名相同,则本地分支名可以不写。

4. git push

合并本地修改到远程仓库

git push <remote-name><本地分支名>:<远程分支名>

注意:假设远程分支名和本地分支名相同,则本地分支名可以不写。

如果本地版本和远程仓库的版本有差异,但是有想要强制推送可以加上

--force

git push --force <remote-name><本地分支名>:<远程分支名>

4. git 分支管理

0. git 分支git 分支

1. 创建和切换分支

git branch <分支名># 创建分支git checkout <分支名># 切换到指定分支git checkout -b <分支名># 创建并切换到新分支

2. 删除分支

git branch -d <分支名># 删除指定分支

3. 分支合并

将指定的分支合并到主分支

# 将指定分支合并到当前分支git merge <合并的分支># 删除已合并的分支git branch -d <合并的分支>

4. 合并冲突与解决

当多个分支中同时修改了同一处地方,此时就需要进行冲突解决。

git merge <合并的分支># 合并分支# 出现了冲突# 在当前分支进行冲突处理,使用编辑器打开冲突文件,进行冲突处理# 当冲突解决,使用git add 告诉git冲突已解决gitadd<冲突文件># 重新提交修改到本地仓库git commit <冲突文件>

参考文章

菜鸟教程:https://www.runoob.com/git/git-tutorial.html
细读 Git | 弄懂 origin、HEAD、FETCH_HEAD 相关内容:https://www.jianshu.com/p/b494ee197ea8

标签: git github

本文转载自: https://blog.csdn.net/weixin_42731803/article/details/126677612
版权归原作者 Miraitowa_Hygge 所有, 如有侵权,请联系我们删除。

“Git常用操作”的评论:

还没有评论