Git的使用(linux基本命令)
Posted qwblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git的使用(linux基本命令)相关的知识,希望对你有一定的参考价值。
一、Git基础知识
参考:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%85%B3%E4%BA%8E%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6
1、文件的三种状态
Git内部文件只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交代表文件已被保存在本库中了;已修改代表修改了某个文件,但还没有被提交保存;已暂存代表把已修改的文件放在下次提交时要保存的清单中。因此文件本地流转的工作区域有:工作目录,暂存区域和git本地仓库。
二、Git基础操作
1、Git初始化
下载安装Git后,第一件事就是使用 git config 初始化Git,配置名字和邮箱:
$ git config --global user.name "q w" $ git config --global user.email "[email protected]"
2、创建本地仓库
a.在工作目录中初始化新仓库
$ git init $ git add * $ git commit -m "first commit"
b.从现有仓库克隆
$ git clone gitURL localdir //讲giturl仓库克隆到本地localdir目录下
3、Git本地文件操作
a.查看文件状态
$ git status //查看文件有没有被跟踪,被跟踪的文件有没有被修改,被暂存的文件有没有被提交
$ git diff //比较工作目录和暂存区快照之间的差异
b.提交更新
$ git commit -m "commit note" //提交暂存区的修改文件到本地git版本库
$ git commit -am "commit note" //跳过使用暂存区,Git把跟踪的修改过的文件暂存起来一并提交,跳过git add步骤
c.移除文件(不重要,可替代)
$ git rm hello.c //若直接本地操作不通过git删除,则在commit时会报错:尚未暂存以备提交的变更。需要用git rm来记录移除文件的操作
$ git rm --cached hello.c //移除文件跟踪,但不实际在本地删除文件
$ git rm log/*.log //删除log目录下,所有log文件
d.移动文件(不重要,可替代)
$ git mv file1 file2 //这条命令等于1. mv file1 file2 2.git rm file1 3.git add file2
e.撤销操作
$ git reset HEAD file //取消已经暂存的文件file
$ git checkout -- file //取消对file文件的修改(危险)
f.远程仓库的使用
一个项目可能会包含多个版本仓库,比如国内+国外、测试环境+生产环境。
$ git remote -v //列出一个项目中包含的所有远程仓库 $ git remote add [shortname] [url] //关联远程仓库,添加新的远程仓库shortname到项目中 $ git fetch [remote-name] //拉去远程仓库中,本地仓库还没有数据 $ git push origin master //推送数据到远程仓库 $ git remote show origin //查看远程仓库信息 $ git remote rename pb paul //远程仓库重命名 $ git remote rm paul //远程仓库删除
g.打标签
$ git tag //列出已有标签 $ git tag -a v1.4 -m ‘my version 1.4‘ //新建标签 $ git push origin v1.5 //分享标签,push命令默认不会把标签传送到远端服务器,只有通过显示的命令才行 $ git push origin --tags //一次推送所有标签
4、Git分支
a.新建合并分支
$ git branch test //新建分支test
$ git checkout test //切换分支,其实是HEAD指向test分支(注:HEAD可以理解为指向当前所在分支的指针)
$ git checkout -b test //相当于同时执行了上面两条分支
$ git merge test //合并test分支,表示把这个分支合并到当前分支
$ git branch -d test //删除test分支,合并之后就可以删掉了
b.遇到冲突时的分支合并
$ git merge test //开始合并test分支到当前分支
$ git status //可以查看那些文件发生冲突
直接打开修改冲突文件
$ git add //若所有冲突都解决了,则运行此命令,将文件标记为已解决状态
并和远程仓库关联
初始化本地仓库:
git init
git remote add origin git@github.com:michaelliao/learngit.git
以上是关于Git的使用(linux基本命令)的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程