git常用命令入门

安装完Git的终端后,在终端下打一个git,会告诉各种git的使用方法。

1. 入门

如果想把当前文件夹用Git管理的话,需要先建立一个仓库(repository)。可以使用一个已经存在的目录作为Git仓库或创建一个空目录。

1.1 初始化仓库

使用当前目录作为Git仓库,只需要将它初始化:

git init

使用指定目录作为Git仓库:

git init new_repo

后面将假设操作均位于Git仓库的根目录下,除非另有说明。

1.2 看一下当前文件的情况

git status

红色代表更改没有被添加,只有被添加的更改,才能被提交。

1.3 添加新文件/新的文件更改

我们有一个仓库,但什么也没有,可以使用add命令添加文件。

git add filename

如果有很多很多个文件,可以使用:

git add .

在后面加上一个’.’,这就代表要添加所有的修改。
当更改变成绿色的时候,说明更改准备好被提交了。
在这里插入图片描述

1.4查看没有被添加的更改内容

git diff

1.5 取消文件追踪

git reset filename(包括子路径)
被追踪的文件,会由绿色变成红色。

1.6 让git知道你是谁

谁提交的改变,git是需要明白的。
告诉git名字:

git config --global user.name "Yinji"

告诉git邮箱:

git config --global user.email "zhuyinji@miaomiaomiao.ai"

1.7 git的管理系统内删除文件

git rm --cached 想要删除的文件名

该命令只是让git管理系统中删除改文件。但是在电脑文件夹中,该文件还是存在的。
这个方法可以删除之前上传到git上,但后来不想管理了,放入.gitignore的文件。

1.8 当前文件夹下的某个文件,不想让git管理

在文件夹下,输入:

vim .gitignore

如果不想让git帮忙管理 . v s c o d e .vscode .vscode b u i l d build build文件,只需要在该文本里写入 . v s c o d e .vscode .vscode b u i l d build build,保存并退出。此时再输入git status,之前显示的不想管理的文件就消失了,但是多了个 . g i t i g n o r e .gitignore .gitignore
注意,之前让git已经追踪的文件,就会一直追踪。就算将文件加入 . g i t i g n o r e .gitignore .gitignore内,文件还是会继续被追踪。
如果想要让文件不被追踪,可以使用git rm先删除文件

1.9 告诉项目在网上的地址在哪

git remote add origin ssh://example.com/~/www/project.git

1.10 提交版本

现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。
为此,我们将它们提交到仓库:

git commit -m "Adding comments"

-m后面为对提交内容的描述。
如果在这里不写-m的话,会出现编辑器来让你写自己的注释信息。
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。

git commit -a -m "Changed some files"

1.11 发布新版本

我们先从服务器克隆一个库并进行修改:

git clone ssh://example.com/~/www/project.git

现在我们修改之后可以进行推送到服务器(如果不配置的话,需要输入用户名和密码):

git push ssh://example.com/~/www/project.git (下载下来时有网址,如上传到相同路径下,不需要输入网址)
git push --set-upstream origin master(这里存在疑问)

git push的一般形式为git push <远程主机名> <本地分支名> <远程分支名>,例如git push origin master:refs/for/master,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名。

1.11.1 git push origin master

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

1.11.2 git push origin :refs/for/master

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master

1.11.3 git push origin

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支。

1.11.4 git push

如果当前分支只有一个远程分支,那么主机名都可以省略,形如git push,可以使用git branch -r,查看远程的分支名。

1.12 分支与合并

分支在本地完成,速度快。要创建一个新的分支(如test),我们使用branch命令:

git branch test

branch命令不会将我们带入分支,只是创建了一个新的分支。因此,我们需要使用checkout命令来更改分支:

git checkout test

第一个分支,或主分支,被称为“master”:

git branch master

对其他分支的更改不会反映在主分支上。如果想将更改提交到主分支,则需切换回master分支,然后使用合并:

git checkout master
git merge test

注意:在merge后,分支虽然合并了,但是还是继续存在的。

1.13 删除分支

如果想删除分支,我们使用-d标识:

git branch -d test

假设这个分支有一些更改没有保存合并到主分支,就是假设一些更改会丢失的话,git会提醒你不让你删这个分支。如果想强制删除,-d变成-D。

1.14 获取项目最新版本

git pull

2. GitLab上传示例

Git global setup

git config --global user.name "Yinji"
git config --global user.email "yinji@miaomiaomiao.ai"

Create a new repository

git clone git@192.168.1.32:Yinji/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Push an existing folder

cd existing_folder
git init
git remote add origin git@192.168.1.32:Yinji/test.git
git add .
git commit -m "Initial commit"
git push -u origin master

Push an existing Git repository

cd existing_repo
git remote rename origin old-origin
git remote add origin git@192.168.1.32:Yinji/test.git
git push -u origin --all
git push -u origin --tags
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值