1.git的仓库
git主要工作区域:工作目录,暂存区,资源库,还有远程仓库。
git的工作区域有理论图,大家可以自行百度相关理论图查看,便于理解。这里不在展示。
工作流程:
1.1 在工作目录中编辑代码,利用git add .命令将修改的代码添加到暂存区;
1.2 将暂存区的代码提交到资源库,利用命令 git commit -m "注释内容";
1.2 将资源库的代码提交到远程仓库,利用命令git push origin 分支名称。
但是如果本地资源库和远程仓库断了连接则无法提交,会提示fatal: No configured push destination.
这时候需要利用命令建立本地仓库和远程仓库的连接git remote add origin git@gitlab.com:***.git,建立连接之后在利用git push的命令将代码提交到指定分支上。
2.git分支操作
2.1 查看当前所有分支信息命令: git branch
创建并切换分支,
创建分支 git branch new_branch。
切换分支 git checkout new_branch。为了避免和版本回退中的checkout命令出现冲突,也可以使用git switch命令来切换分支。
创建并切换到new_branch分支:git switch -c new_branch。
切换到已有分支master, git switch master
创建并切换到新分支: git checkout -b new_branch。
2.2 查看本地分支命令 git branch。远程分支 git branch -r.
2.3 合并分支
假设现在有master和new_branch两个分支,现在在new_branch这个分支上,需要将new_branch分支合并到master分支上。
先切换到master分支上, git checkout master。
合并new_branch分支, git merge new_branch。
合并完成后,删除new_branch分支, git branch -d new_branch。
2.4 删除dev分支 git branch -d dev
2.5 利用git status查看最新情况
2.6 dev分支重命名 git branch --move dev new-dev(仅修改了本地)如果也需要修改远程,则需要进行推送git push --set-upstream origin new-dev,推送完之后dev分支仍然可用,这时需要利用git push origin --delete dev将dev分支删除。
2.7 取回dev分支的代码 git fetch origin dev
2.8 删除远程分支 git push origin --delete dev
2.9 复制远程代码带本地 git clone 文件地址
3. git版本管理
3.1 使用git log 命令查看提交历史。提交历史按照提交时间从近到远进行排序。也可以加上--pretty=online参数。git log --pretty=oneline,显示的内容更容易理解。
3.2 版本回退,根据git log命令查看到提交历史后,根据commit id确定回退的版本。使用命令:git reset --hard commit id(回退版本的commit id)。
3,3 版本对比,使用git diff HEAD -- 对比文件名。 查看文件和版本库中的最新改动区别。
3.4 撤销修改,使用git checkout -- file 。撤销file的修改内容,让其回到git commit或者git add时的状态。
3,5 删除文件,直接使用rm file 命令即可删除文件file。
4. tag管理
4.1 创建tag,tag的创建是基于分支,首先切换到对应分支上,如在master分支上创建master-1.0这个tag
切换到master分支上,git checkout master
创建master-1.0这个tag, git tag master-1.0
4.2 根据commit id 创建master-1.1这个tag
git tag master-1.1 commit id
4.3 查看tag
git tag 是按照字母排序,不是时间排序
git show tag名 查看tag的详细信息
4.4 创建带有说明的标签,用`-a`指定标签名,`-m`指定说明文字:
git tag -a tag名 -m "说明内容" commit id
4,5 删除tag
git tag -d tag名
创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
4.6 推送某个标签到远程,使用命令`git push origin <tagname>`:
git push origin tag名
一次性推送本地所有tag到远程
git push origin --tags
4.7 删除远程tag
如果标签已经推送到远程,需要先从本地删除,在删除远程tag
删除本地tag: git tag -d tag名
删除远程tag: git push origin :refs/tags/tag名
删除完成后登录git确认tag是否被删除>
以上内容只是个人理解,命令了解的还不是很多,如有理解不当的地方请指出,谢谢。