今天看啥  ›  专栏  ›  孑小白

Git常用命令

孑小白  · 简书  ·  · 2021-06-20 00:21

查看配置信息

输入 git config --list 回车即可:

配置用户信息

输入 git config --global user.name "xjb" 配置用户名为 jxb 的用户。

输入 git config --global user.emal "3502037911@qq.com"
配置自己的邮箱

注意你的配置完成后,信息都保存在你自己当前用户的 .gitconfig 文件中。


打开后是这样的:

[user]
    name = jxb
    email = 3502037911@qq.com

获取gti仓库

  • 在本地初始化
  • 克隆远程

首先我们创建本地的仓库:打开D盘,创建文件夹 D:\DevelopmentEnvironment\GitPro\BenDi 后鼠标右键打开git命令窗口输入 git init


之后就会对应的生成一个 .git 的文件夹:

然后我们从远程仓库克隆到本地,首先切换到 D:\DevelopmentEnvironment\GitPro 文件夹下面(根据个人喜好),然后鼠标右键打开命令窗口输入 git clone 你的仓库地址


如果你在码云上创建的仓库是私有的,那么就需要输入用户名和密码才能进行克隆,克隆完成后即可在自己的项目目录中看见远程仓库名称的文件夹:

工作区、暂存区、版本库的概念

  • 暂存区:.git文件夹下的 index 二进制文件就是暂存区。

文件状态

输入命令 git status 即可


使用 git status -s 会更加简洁:

提交文件

输入 git add 文件名称 然后该文件就会被假如暂存区:



这样的话 new.txt 文件就变成了已跟踪状态,当然也可以使用 git rm --cached <file>... 命令把这个文件恢复到未跟踪的状态。

标准命令 git reset HEAD 文件名 ,我这里使用的是不怎么标准的,但是也生效了。
接下来使用 git commit -m "日志" 来提交这个文件。

这样就可以把文件提交到本地的仓库中。

删除文件

使用 gti rm 来删除文件,这个命令比较方便,因为删除的这个动作同时也会被提交到暂存区中,如果你直接使用windos的文件管理删除,那么你还需要使用 git add 文件名 提交到暂存区,然后才能使用 git commit -m "delete" 彻底删除。

将文件添加到忽略区域

我们往往不需要管理 .class 和一些日志文件,首先我们需要创建一个 .gitignore 的文件,在里面编写一些配置信息。

#忽略.a结尾的所有文件
*.a

#不忽略lib.a文件
!lib.a

#忽略当前目录下的TODO文件
/TODO

#忽略build目录下的所有文件都忽略
build/

#doc目录下所有以.txt结尾的文件都忽略
doc/*.txt

#doc目录包含其子目录下所有.pdf文件都忽略
doc/**/*.pdf

查看日志记录

输入 git log 即可查看日志信息:

查看远程仓库

命令: git remote

git remote -v 查看详细的远程仓库信息:

由于当前的本地仓库是克隆过来的 origin 是默认的名字。
使用 git remote show origin 可以查看详细的信息:

添加远程仓库

首先登录码云创建一个新的远程仓库:


然后拿到我们自己的仓库url。
然后我们自己创建一个目录,在此目录打开git窗口,然后输入 git init 初始化一下,接下来使用 git remote add [名字随便起] [仓库URL] 添加我们自己的远程仓库。

远程仓库克隆

输入命令 git clone [URL] 即可

移除远程仓库

注意:这个移除,只是移除本地的远程仓库,而不是远程的仓库删除。命令: git remote rm [仓库名称]

远程仓库抓取与拉取

  • git fetch :拉取所有代码,但是不merge(合并)
  • git pull :拉取所有代码,会自动merge(合并)

首先使用 git fetch 抓取代码:


操作完成以后,他其实就已经把远程的文件以二进制的形式存放到objects目录中啦:

接下来我们自己手动合并分支:

接下来使用 git pull 来抓取代码:

实际上,如果你在拉取代码之前,如果在本地目录中添加了额外或者其他的文件,此时使用 git pull 会报错,无法合并的错误,我为了模拟这个效果,首先创建了一个空的文件夹,然后使用 git init 一下,然后创建一个 hello.txt 的文件,把它提交:


然后我们添加远程仓库:

之所以git会有这样的机制,其实是为了防止你的本地文件被覆盖,此时如果我们想强制的拉取远程仓库的数据,只需在原有命令的后面加入 --allow-unrelated-histories 即可:

将本地代码推送到远程仓库

我们在上一个小节中留下来了一个 hello.txt 文件,那么我们先把这个推送到远程仓库,使用命令 git push origin master


注意:这个操作可能让你输入密码。

这样就提交完成啦。




原文地址:访问原文地址
快照地址: 访问文章快照