作者:zyugat.cn/zyugat.com
Git 从了解到精通(2)分支管理及代码冲突和Stashing
下面是最常用的命令,故不做说明,大家看一下就好了。
echo "# studyGit" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:zyugat/studyGit.git
git push -u origin main
# 自定义文件夹
git clone git@github.com:zyugat/studyGit.git mystudyGit
删除版本库与项目目录中的文件 git rm index.php
只删除版本库中文件但保存项目目录中文件 git rm --cached index.php
查看 commit 的历史版本,如果有需要可以回到那个版本,后续会说。
git log:历史版本
git log -p -5:查看最新5个的历史版本
git log --name-only:查看已修改的文件清单
git log --name-status:查看新增、修改、删除的文件清单
例
commit:代表 commit-ID
Date下面就是,该次 commit 执行的操作。
zyugat@rua-note MINGW64 /d/studyGit (main)
$ git log -p -2
commit f2e6d16c83258aa15a8f5df57b0f4a435df5b604 (HEAD -> main)
Merge: 7725c3c 50d9ff5
Author: zyugat <zyugatcn@gmail.com>
Date: Fri Sep 9 15:23:36 2022 +0800
merge dev2
commit 50d9ff58564f14843f3cba627bfa779f0e2c2fbd (dev2)
Author: zyugat <zyugatcn@gmail.com>
Date: Fri Sep 9 15:14:55 2022 +0800
dev2 change test.txt
diff --git a/test.txt b/test.txt
index ba2906d..b8ec288 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,2 @@
main
+dev2 change test.txt
暂存区是什么?就是我们执行完 git add 的区域
常用命令:
reset,会在后面分支管理中细说。
git add . 提交所有修改和新增的文件git add -u 只提交修改文件不提交新文件git ls-files -s 查看暂存区文件列表git reset 撤销上次提交到暂存区动作暂存区是什么?就是我们执行完 git commit 的区域
git commit --amendgit clean
清理没有被 add 的文件。
参数
-n:那些文件会被删除-f:清理没有被add文件-df:清理包括文件夹在内的文件当commit以后,如何改名
git mv a.sh c.sh
git commit -m 'a.sh rename c.sh'
git checkout
.:恢复本地不存在,但暂存区存在的文件。
add 了,但不小心删除了某个文件,就可以用改命令恢复文件。a.sh (文件名):放弃对指定文件的修改-- a.sh (文件名):从暂存区里恢复,如果没有提交到暂存区则恢复到最初的状态这个没什么好说的,缩率名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
1、commit了文件,但想改commit的文本(即是-m '' 后面的文本)
git commit --amend2、commit 或 add 以后想改文件名字
git mv a.sh c.sh
git commit -m 'a.sh rename c.sh'
3、删除暂存区的文件
git rm --cached a.sh
4、本地 git add了,然后不小心删了某个文件,怎么恢复?
恢复本地,从暂存器中获取(不会覆盖文件,只会获取本地不存在但暂存器存在的文件)
git checkout .