Git 学习之路
刚入职那会儿,git 一点儿不熟悉,但是还要用,很是害怕。每次更新代码都会冲突,又不会解决、甚至覆盖过别人的代码、头皮发麻。 实习结束我才知道,push 之前要先 pull 一下。。。 今天刚好又学到一个关于git commit 挺好用的命令,就一起总结一下吧。
Git
更新 | git pull
执行 git pull
命令可以将远程仓库的更新拉取到你的本地仓库。一般情况下,git pull
命令会自动执行两个步骤:git fetch
和 git merge
。
添加 | git add
git add
命令用于将工作目录中的文件添加到 Git 的暂存区(Staging Area)。这个暂存区是一个中间状态,它存储了你想要包含在下一次提交中的文件的快照。
-
添加单个文件
git add <file>
这会将指定的
<file>
添加到暂存区。你可以通过文件的路径指定文件,也可以使用通配符来添加多个文件。 -
添加当前目录下所有文件
git add .
这会将当前目录中的所有修改过的文件都添加到暂存区。这个命令会递归地添加所有文件,包括子目录中的文件。
-
交互式添加文件
git add -p
这个命令会启动一个交互式的界面,让你逐个检查修改,并决定是否要将每个修改添加到暂存区。这对于选择性地暂存部分修改非常有用。
-
添加文件的部分内容
git add -p <file>
提交 | git commit
git commit
命令用于将暂存区中的文件快照永久地保存到 Git 仓库中,创建一个新的提交。每次提交都包含了你的修改以及一个描述这些修改的提交信息
-
基本用法
git commit -m "Commit message"
-
commit 信息为固定文件格式
git commit -F path
-
提交所有更改并添加信息
git commit -am "Commit message"
这个命令会将所有修改过的文件添加到暂存区,并创建一个新的提交。它会自动将所有已经跟踪的文件的修改添加到暂存区,然后提交它们,并附带指定的提交信息。
几乎相当于 add + commit
-
修改最后一次提交
git commit --amend
如果你需要修改最后一次提交的提交信息,可以使用这个命令。它会打开文本编辑器,让你编辑最后一次提交的提交信息。可以add 多次 commit 多次 只push一次
合并
| git merge
git merge
命令用于将一个分支的历史合并到另一个分支中。它将两个不同分支的历史线合并在一起,创建一个新的提交,将两个分支的内容整合在一起。
git merge branchName
| git rebase
git rebase
命令用于将一个分支的提交移动到另一个分支上,并且重放(replay)这些提交。这个命令的主要作用是将一个分支的提交历史应用到另一个分支上,以便产生一个更加线性的提交历史。
git rebase branchName
merge 是讲主分支的代码合并到本地分支、rebase 是讲 本地分支更新到主分支,如果 本地分支已经存在 commit 并且 合入云端分支,谨慎使用 rebase
暂存 | git stash
git stash
命令用于将当前工作目录中的修改(包括已跟踪和未跟踪的文件)保存到一个临时区域中,从而使你可以在不提交这些修改的情况下切换到其他分支或者进行其他操作。git stash
的主要作用是暂时保存你的工作进度,以便稍后恢复。
-
基本用法
git stash
-
添加 信息
git stash -m "message"
为每个 stash 添加一条描述信息。这个描述信息可以帮助你更好地理解每个 stash 中保存的工作进度
-
查看 stash
git stash list
这个命令会列出所有保存在 stash 中的工作进度,并显示每个 stash 的索引号和描述信息
-
应用最新的stash
git stash apply
这个命令会将最新的 stash 应用到当前工作目录中,但不会从 stash 列表中移除该 stash。这意味着你可以多次应用同一个 stash
-
应用特定的 stash
git stash apply stash@{n}
这个命令会将指定索引号为
n
的 stash 应用到当前工作目录中。这允许你从 stash 中选择特定的工作进度来应用 -
删除最新的stash
git stash drop
这个命令会删除最新的 stash,从 stash 列表中移除它。这意味着你无法再次应用这个 stash
切换分支\文件 | git checkout
切换分支
-
查看分支
git branch
-
切换分支
git checkout branchName
恢复文件
-
单个文件
git checkout fileName
-
当前目录下的所有文件
git checkout .
其他
-
查看log | git log
git log
git log: 这个命令用于查看提交历史。它会列出当前分支的提交记录,包括每个提交的作者、提交时间、提交信息等
-
重置当前分支指针 | git reset
git reset HEAD
撤销上一次的提交,但保留修改
git reset HEAD~num
撤销上 num 次的提交
git reset commit_id
配合 git log 使用,讲分支充值到 commit_it 提交之前
辅助
-
设置本地用户名
git config --local user.name "Your Name"
-
设置本地邮箱名
git config --local user.email "your_email@example.com"
git commit 使用模板
-
创建模板文件
-
设置模板路径
git config --global commit.template /home/xxx/commit.template
-
设置编辑器
git config --global core.editor vim //这里设置vim,也可以设置text,egit等其他编辑器
Windows 下记得使用双斜杠
转载自:https://juejin.cn/post/7377745174137602086