Git基本使用

本文最后更新于:3 天前

Git基本使用

软件安装

命令行软件:

Ubuntu:参考:https://git-scm.com/download/linux

1
sudo apt install git 

Windows:https://git-scm.com/ 下载安装即可
可通过以下命令确认是否安装成功

1
git --version

界面管理软件:

Ubuntu:SmartGit
Windows:git tortoisehttps://tortoisegit.org/download/
clion\pycharm:内置了Git管理工具

命令操作

初始化git仓库

1
git init

实时查看当前仓库状态

1
git status

配置邮箱和用户名:(整个系统只用配置一次)

1
2
git config --global user.email "xxx@xx.com"
git config --global user.name "xxxx"

将文件变化加入到State舞台(所有文件的增删改)

1
git add .

将文件变化加入到State舞台(个别文件)

1
git add 文件名

提交Stage舞台上的所有变化(所有文件的增删改)

1
git commit -m "提交注释"

查看历史记录:(按q退出)

1
git log

文件状态说明
Untracked:未追踪状态(git add . 更新为staged)常见于新添加的文件或目录
not staged:未记录的变换(git add . 更新为staged)常见于修改、删除文件
Staged:待提交状态(需要通过 git commit -m “提交注释”)将之提交
Commited:文件已提交到版本库,会在历史记录中体现
在这里插入图片描述

提交到远程仓库

gitee, github

远程仓库初始化及push

1.创建远程仓库
2.添加远程仓库的链接,命名为origin

1
git remote add origin https://gitee.com/xxx/xxx

3.将当前分支和远端origin的master进行关联(只需要执行一次)

1
git push --set-upstream origin master

也可以使用指定的远端分支进行推送

1
git push -u origin main

在这里插入图片描述

获取远程仓库代码pull

1.获取已有的远程仓库代码

1
git clone https://gitee.com/xxx/xxx

2.如果希望获取最新的远程的代码

1
git pull

3.等同于

1
git fetch + git merge

多人协作开发

commit、push
pull、merge

冲突产生

在push之前,远程版本库中有新的提交,本地没有,执行pull,发现其中的新的提交和本地的内容(相同文件的相同行)有差异。产生冲突

冲突解决

git pull 拉取并合并
手动,使用界面工具将远程内容和本地内容进行合理的编排,执行命令继续合并过程

1
git add .

fix conflicts and then run “git rebase –continue”
执行推送

1
git push

Git分支管理

查看分支(*处于当前所在分支前面)

1
git branch

创建分支

1
git branch 新建分支名称

切换分支

1
git checkout 分支名称

同时创建并切换分支

1
git checkout -b 新建分支名称

删除分支

1
git branch -d 删除分支名称

分支合并

1
2
3
4
git merge
-------
git checkout 需要合并到的分支(一会会将别的分支的内容合并到此分支)
git merge 需要合并的分支(将此分支内容合并到当前分支)

Git标签

创建标签

1
2
-a 是创建一个带注释的标签,建议使用
git tag -a v1.0

查看标签

1
git tag

删除标签

1
git tag -d 标签名称

查看此版本所修改内容

1
git show 标签名称

Git 版本回退

查看提交日志,每一次提交都有对应的 *commit id* 和 ***commit message***。

1
2
3
git log
# 提交的信息会在一行显示
git log --pretty=oneline

根据id会退到指定的版本

1
git reset --hard id(根据日志,可以查看到id号)

查看命令操作的历史

1
git reflog

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!