Git初学者关于本地仓库Local的全部使用(包括init, add, commit, reset等操作)

本文详细介绍了Git初学者如何配置本地仓库,包括创建仓库、修改代码、忽略文件、撤销操作等基本步骤。通过实例演示了`init`, `add`, `commit`, `reset`等命令的使用,并强调了`.gitignore`文件的重要性。" 132507321,7337247,机器学习入门:数据挖掘十大经典算法详解,"['数据挖掘', '机器学习', '算法', '编程实践', '自然语言处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开始使用Git前的重要配置

$ git config --global user.name "Rong Huang"
$ git config --global user.email "xxx@xxx.com"

用pwd命令查看当前目录

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~
$ pwd
/c/Users/Huang Rong

用下面命令查看当前配置的信息

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~
$ cat .gitconfig
[user]
        email = ms.rong.huang@outlook.com
        name = Rong Huang
[core]
        autocrlf = false

(补充一下autocrlf = false是为了解决提示错误,详见我的上一篇博客)

创建本地仓库

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~
$ git init testgit
Initialized empty Git repository in C:/Users/Huang Rong/testgit/.git/

由于.开头的文件通常会被系统隐藏文件夹,所以.git文件夹我们通过ls -la命令来查看,如下

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ ls -la
total 20
drwxr-xr-x 1 Huang Rong 197609 0 11月 10 13:17 ./
drwxr-xr-x 1 Huang Rong 197609 0 11月 10 13:17 ../
drwxr-xr-x 1 Huang Rong 197609 0 11月 10 13:17 .git/

新建文件命令

$ touch test.txt

查看git状态命令

$ git status

打开.git文件夹,查看内容(这个截图是add, commit, ignore操作之后的,可能大家操作这里的时候有些文件夹没有,也没事,接着往后学就行了)

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ cd .git

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit/.git (GIT_DIR!)
$ ls
COMMIT_EDITMSG  description  hooks/  info/  objects/   refs/
config          HEAD         index   logs/  ORIG_HEAD

对代码仓库进行修改

两个步骤:

  • add添加
  • commit提交
    新建test.txt文件,然后查看git状态,有一个变更没有添加,add *可以添加全部变更
Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ touch test.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        test.txt

nothing added to commit but untracked files present (use "git add" to track)

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git add test.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

        new file:   test.txt

有Changes就可以commit了,commit命令 -m添加提交信息
(如果-m忘记了也没事,会进入一个vim编辑页面,编辑你的提交信息。按i进入插入状态,esc退出编辑状态,:wq保存退出)

$ git commit -m "first commit"

添加内容到一个文件

$ echo "xxxx" >> test.txt

查看文件内容,通过git log命令

$ cat test.txt

查看Git日志

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git log
commit b0173654a60156035745304c55518c6be28b0777 (HEAD -> master)
Author: Rong Huang <ms.rong.huang@outlook.com>
Date:   Sat Nov 10 13:40:36 2018 +0100

    second commit

commit 5619b8d2e7a6bc0636dcf2bfd44514258bb0a4d9
Author: Rong Huang <ms.rong.huang@outlook.com>
Date:   Sat Nov 10 13:18:51 2018 +0100

    first commit

忽略文件操作

为什么要忽略一些文件,比方说你编译了c,c代码文件外还有好几个编译后产生的文件,你并不需要。我们通过忽略文件操作,避免这些文件被提交。
添加.gitignore文件,输入比方说过滤所有.out文件(在vim编辑模式下输入*.out保存退出)

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ vim .gitignore

测试一下

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ touch a.out

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ touch b.out

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ ls
a.out  b.out  test.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore

可以过滤掉.out文件了

还有使用git rm移除add里面文件

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ touch falsh.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git add falsh.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   falsh.txt

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git rm --cached falsh.txt
rm 'falsh.txt'

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git status
On branch master

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        falsh.txt

no changes added to commit (use "git add" and/or "git commit -a")

.gitignore文件有很多模板,大家可以自行查找,添加到本地根目录就可以了。

撤销命令

如果不小心已经提交了某个文件,可以使用git reset HEAD~命令

$ git reset --hard HEAD~
$ git reset --soft HEAD~
$ git reset HEAD~

  • hard删完了就没了
  • soft撤销完了在添加状态里面还可以编辑了重新commit
  • 都不写撤销完了回到还没有add的状态

ORIG_HEAD命令可以使用之前commit提交信息

Huang Rong@DESKTOP-O2VRRQO MINGW64 ~/testgit (master)
$ git commit -c ORIG_HEAD
[master b2fe87d] demo2
 Date: Sat Nov 10 16:47:08 2018 +0100
 1 file changed, 1 insertion(+)

轻微修改,add后使用–amend,可以不增加commit次数,(进入vim直接保存退出)

$ git commit --amend

欢迎留言交流~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值