天天看点

git版本管理工具基本使用Git基本使用

Git基本使用

软件安装

命令行软件:

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

Windows:https://git-scm.com/ 下载安装即可

可通过以下命令确认是否安装成功

git --version
           

界面管理软件:

Ubuntu:SmartGit

Windows:git tortoise:https://tortoisegit.org/download/

clion\pycharm:内置了Git管理工具

命令操作

初始化git仓库

git init
           

实时查看当前仓库状态

git status
           

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

git config --global user.email "[email protected]"
git config --global user.name "xxxx"
           

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

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

git add 文件名
           

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

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

git log
           

文件状态说明

Untracked:未追踪状态(git add . 更新为staged)常见于新添加的文件或目录

not staged:未记录的变换(git add . 更新为staged)常见于修改、删除文件

Staged:待提交状态(需要通过 git commit -m “提交注释”)将之提交

Commited:文件已提交到版本库,会在历史记录中体现

git版本管理工具基本使用Git基本使用

提交到远程仓库

gitee, github

远程仓库初始化及push

1.创建远程仓库

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

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

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

git push --set-upstream origin master
           

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

git push -u origin main
           
git版本管理工具基本使用Git基本使用

获取远程仓库代码pull

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

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

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

git pull
           

3.等同于

git fetch + git merge
           

多人协作开发

commit、push

pull、merge

冲突产生

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

冲突解决

git pull 拉取并合并

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

fix conflicts and then run “git rebase --continue”

执行推送

git push
           

Git分支管理

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

git branch
           

创建分支

git branch 新建分支名称
           

切换分支

git checkout 分支名称
           

同时创建并切换分支

git checkout -b 新建分支名称
           

删除分支

git branch -d 删除分支名称
           

分支合并

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

Git标签

创建标签

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

查看标签

git tag
           

删除标签

git tag -d 标签名称
           

查看此版本所修改内容

git show 标签名称
           

Git 版本回退

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

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

根据id会退到指定的版本

查看命令操作的历史

git reflog