05-独自使用Git

nobility 发布于 2020-07-26 1312 次阅读


独自使用Git

基本使用

GitHub上是空仓库

创建一个目录,该目录就是项目,进入该目录后执行下面命令

git init  #初始化仓库,会在当前目录下生成 .git 目录,该目录就是git的本地仓库以及暂存区
git status	#查看当前git仓库当前状态
#红色是工作区的改动的文件
#绿色是暂存区的改动的文件
#没有显示是因为已经提交到本地仓库中,即当前没有改动

在该目录下编写代码,这里以README.md文件为例,编写好后,先将文件改动提交到暂存区

git add README.md  #单独将工作区 README.md 文件的改动提交到暂存区
git add .          #将工作区所有文件的改动都提交到暂存区
git add -A         #将工作区所有文件的改动都提交到暂存区

在将文件改动添加到本地仓库

git commit -m "本次提交的描述信息"	#将暂存区中的改动提交到本地仓库
#若不指定-m参数会进入到vim编辑器界面,进行更详细的说明,第一行是标题

再将本地仓库推送到远程仓库

git branch -M main  #切换到主分支
git remote add origin URL  #与远程程仓库建立连接
git remote -v  #查看本地仓库和远程仓库的连接
git push origin main  #将本地仓库推到远程仓库主分支中

GitHub上是非空仓库

将非空仓库克隆下来

git clone URL 文件名  #克隆远程仓库,文件名可不取,默认是仓库名
cd 文件名  #进入克隆的仓库内

在该目录下编写代码,这里以README.md文件为例,编写好后,先将文件改动提交到暂存区

git add README.md  #单独将工作区 README.md 文件的改动提交到暂存区
git add .          #将工作区所有文件的改动都提交到暂存区
git add -A         #将工作区所有文件的改动都提交到暂存区

在将文件改动添加到本地仓库

git commit -m "本次提交的描述信息"	 #将暂存区中的改动提交到本地仓库
#若不指定-m参数会进入到vim编辑器界面,进行更详细的说明,第一行是标题

再将本地仓库推送到远程仓库

git push  #将本地仓库推到远程仓库

文件操作

这些命令很像Linux中的命令,但是只是针对已经提交到本地仓库的文件,对提交到本地仓库的文件无效,并且会将这些改动立即加入暂存区

git rm xxx  #删除文件
git mv xxx xxx  #移动或重命名文件

提交日志

git log	 #查看历史提交的信息,使用 git show ID 即可查看本次提交的详细信息
#常用筛选参数如下:
#--author="xxx"  #查看该作者的提交记录
#--pretty=oneline xxx #查看该文件的提交记录
#--oneline  #以单行形式显示
#--oneline --graph  #查看项目历程图,包括分支情况

git reflog  #查看历史版本信息和回滚信息

版本回退

git diff  #查看当前工作区与暂存区文件之间的变化
git checkout xxx  #撤销工作区该文件改动

git reset xxx  #撤销暂存区对该文件的暂存

git log -p xxx  #查看该文件具体内容的每次提交变化
git reset --hard ID  #根据提交ID回退,硬回退,不保留变更内容的回退
git reset --soft ID  #根据提交ID回退,软回退,保留变更内容到暂存区的回退
git reset --mixed ID  #根据提交ID回退,混合回退,保留变更内容到工作区的回退
git checkout ID xxx  #将该单个文件回退到指定版本

git reset --hard HEAD^  #一个尖括号表示回退一个版本

版本标签

git tag  #查看所有标签

git tag 标签名  #为上一次提交增加一个标签
git tag 标签名 ID  #为指定提交增加一个标签

git tag -d 标签名  #删除指定标签名

git push origin 标签名  #将标签推送至远程仓库

分支操作

git branch  #查看所有分支,以及当前分支

git branch 分支名  #创建新分支
git checkout 分支名  #切换分支
git checkout -b 分支名  #创建新分支,并同时切换到该分支

git branch -d 分支名  #删除分支,若该分支已经提交过就不能删除
git branch -D 分支名  #强制删除分支,无论该分支是否提交过
#删除分支的前提是不能删除当前所在分支

git push -u origin 分支名  #将新建的分支推送至远程仓库
git push origin 分支名  #将已存在的分支推送至远程仓库

合并分支

git checkout main  #切换到主分支
git merge 其他分支名  #将其他分支合并到主分支
#若上面命令分支有冲突时,会在文件中使用尖括号标记上冲突部分,可使用下面命令进行忽略
git merge --abort  #忽略其他分支的冲突部分

变基

枚举变更使所有提交依次进行合并分支,简单的说就是在未剪出新分支的情况下,将老分支当作新分支来使用

变基

此作者没有提供个人介绍
最后更新于 2020-07-26