Git可以方便地在本地进行版本管理,相比svn,是一个明显的优势,在某些特殊的场景下,比如没有git服务器账号以及暂时无法连接git服务器时,也可以不影响本地的版本管理功能。
在windows环境下,可以下载一个Git For Window了,可到下述网站下载: Git for Windows 点击 Download,跳转到 Github ,下载对应安装包即可!
也可以下载tortoiseGit,这也是一个不错的工具。
在资源管理器的文件夹,右键菜单,可以看到git菜单项。
配置用户名称和邮箱地址。
git config --global user.name "testuser"
git congif --global user.email "[email protected]"
通过下面的命令查看配置结果
git config --global user.name
git congif --global user.email
创建一个空目录,在目录下,执行如下命令
D:\projectsgit\testgit>git init
Initialized empty Git repository in D:/projectsgit/testgit/.git/
提交代码以前,需要先将文件用add命令添加到暂存区,然后再用commit命令提交到本地仓库。
D:\projectsgit\testgit>git add readme.txt
D:\projectsgit\testgit>git commit -m "This is a test"
[master (root-commit) 8f59c0e] This is a test
1 file changed, 1 insertion(+)
create mode 100644 readme.txt
使用git add . 可以添加当前的全部文件。
可以在代码仓库的根目录下创建一个名为.gitignore的文件,然后编辑里面的内容,把不需提交的文件忽略掉!
比如:表示bin目录和gen目录下的文件不添加。
/bin/
/gen/
status命令会提示我们哪些文件发生了改变,但是还没有提交。
D:\projectsgit\testgit>git status
On branch master
Changes to be committed:
(use "git restore --staged ..." to unstage)
new file: .gitignore
Untracked files:
(use "git add ..." to include in what will be committed)
Demo.java
如果我们想看下具体更改了什么,我们可以用到git diff命令
D:\projectsgit\testgit>git diff
diff --git a/readme.txt b/readme.txt
index 0fc3f26..aca6c5d 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1 +1,5 @@
-test1
\ No newline at end of file
+test1
+
+test 2
+test 3
+test 4
使用git log查看提交记录。
D:\projectsgit\testgit>git log
commit 8f59c0e0ffb1e4f7fb5cf7550e7c8be741b0893c (HEAD -> master)
Author: demt
Date: Fri Jan 21 13:57:22 2022 +0800
This is a test
修改了文件内容后,突然有不想要了,通过git diff确认了文件差异后,可以通过git checkout方法恢复本地仓库中的文件。
D:\projectsgit\testgit>git checkout readme.txt
Updated 1 path from the index
表示将工作区文件恢复到本地仓库中的版本了。
如果我们已经add了的话,那么checkout是没任何作用的,我们要先取消添加才可以撤回提交,使用下述指令:
git reset HEAD readme.txt
git checkout readme.txt
版本管理的一个目的就是在需要的时候,能够回到之前的某个版本。
我们可以通过git log查看我们的提交记录,我们需要从这里获取一个版本号,一般我们只需要前七位字符就够了;另外在Git中,用HEAD代表当前版本,上一个版本就是HEAD^,再上一个版本就是HEAD^^依次类推!
git reset --hard HEAD
git reset --hard HEAD^
git log
回退到指定版本号
git reset --hard ad2080c
回退后,你突然后悔了,想回退回新的那个版本,Git中给你提供了这颗"后悔药",Git记录着你输入的每一条指令。
git reflog
然后指定需要的版本
git reset --hard ad2080c
这样就到指定的版本了。