赞
踩
初始化仓库:
git init
这个命令用于在当前目录中创建一个新的 Git 仓库。
克隆仓库:
git clone <仓库URL>
用于从远程仓库克隆代码到本地。
添加文件到暂存区:
git add <文件名>
将指定文件添加到 Git 的暂存区,准备提交。
提交代码:
git commit -m "提交信息"
将暂存区中的文件提交到本地仓库,并附带一条简要的提交信息。
查看状态:
git status
查看工作目录和暂存区的状态,了解哪些文件被修改、已暂存或未跟踪。
查看提交历史:
git log
查看当前分支的提交历史记录,包括提交作者、日期和提交信息。
创建分支:
git branch <分支名>
创建一个新的分支,但仍停留在当前分支。
切换分支:
git checkout <分支名>
切换到指定的分支,开始在该分支上进行工作。
合并分支:
git merge <分支名>
将指定分支合并到当前分支。通常在开发完成后,将特性分支合并到主分支(如 master 或 main)。
拉取远程更新:
git pull
从远程仓库拉取最新的更改并合并到当前分支。
推送更改到远程仓库:
git push
将本地的提交推送到远程仓库。如果是第一次推送到远程仓库,可能需要设置远程仓库地址。
撤销修改:
git checkout -- <文件名>
撤销对指定文件的修改,将其恢复到最近一次提交的状态。
撤销暂存:
git reset HEAD <文件名>
撤销对指定文件的暂存,将其从暂存区移除,但保留在工作目录中的修改。
删除文件:
git rm <文件名>
从 Git 中删除指定文件,并将此操作记录到暂存区。
重命名文件:
git mv <旧文件名> <新文件名>
重命名文件,并将此操作记录到暂存区。
16.查看远程仓库信息:
git remote -v
查看当前配置的远程仓库信息,包括 URL 和名称。
17.添加远程仓库:
git remote add <远程仓库名> <仓库URL>
将一个远程仓库添加到本地仓库中,以便能够推送和拉取代码。
18.删除远程仓库:
git remote remove <远程仓库名>
从本地仓库中移除指定的远程仓库。
19.查看分支:
git branch
查看当前仓库中所有的分支,以及当前所在的分支。
20.查看远程分支:
git branch -r
查看远程仓库中的所有分支。
21.查看本地和远程分支:
git branch -a
查看本地仓库和远程仓库中的所有分支。
22.创建并切换到新分支:
git checkout -b <新分支名>
创建一个新分支并立即切换到该分支。
23.删除分支:
git branch -d <分支名>
删除指定的本地分支。如果分支还未合并到其他分支,则需要添加 -D
选项强制删除。
24.查看文件差异:
git diff
查看工作目录中当前文件与暂存区或上一次提交之间的差异。
25.查看提交之间的差异:
git diff <commit1> <commit2>
查看两个提交之间的差异,可以是提交哈希值、分支名或者标签名。
26.创建标签:
git tag <标签名>
在当前提交上创建一个轻量级标签。
27.查看标签:
git tag
查看所有的标签。
28.推送标签到远程仓库:
git push --tags
将所有标签推送到远程仓库。
29.修改最后一次提交的信息:
git commit --amend
允许你修改最后一次提交的信息,包括提交信息和提交的文件。
30.查看特定文件的提交历史:
git log <文件名>
查看特定文件的提交历史记录,包括每次提交的作者、日期和提交信息。
31.将部分文件的修改添加到暂存区:
git add -p
交互式地将部分文件的修改添加到暂存区,允许你逐个确认要暂存的修改。
32.在特定提交创建分支:
git checkout -b <新分支名> <提交哈希值>
在特定的提交上创建一个新分支,并立即切换到该分支。
33.从远程仓库拉取特定分支:
git fetch <远程仓库名> <分支名>
从远程仓库拉取特定分支的更新,但不会自动合并到当前分支。
34.将本地分支重命名:
git branch -m <旧分支名> <新分支名>
将本地分支重命名为新的名称。
35.修改远程仓库的URL:
git remote set-url <远程仓库名> <新仓库URL>
修改远程仓库的URL地址。
36.在特定提交上打标签:
git tag <标签名> <提交哈希值>
在特定的提交上创建一个轻量级标签。
37.删除标签:
git tag -d <标签名>
删除本地仓库中的指定标签。
38.删除远程仓库的标签:
git push --delete origin <标签名>
从远程仓库中删除指定的标签。
39.从特定提交创建分支:
git checkout -b <新分支名> <提交哈希值>
在特定的提交上创建一个新分支,并立即切换到该分支。
40.查看提交的详细内容:
git show <commit>
查看特定提交的详细内容,包括提交的修改内容和提交信息。
41.回退到指定提交:
git reset --hard <commit>
将当前分支回退到指定的提交,并丢弃该提交之后的所有修改。
42.合并特定提交到当前分支:
git cherry-pick <commit>
将特定提交应用到当前分支,相当于手动选择并合并某个提交。
43.暂时存储和恢复工作进度:
git stash
暂时存储当前的工作进度,并将工作目录恢复到上次提交时的状态。
44.恢复暂存的工作进度:
git stash apply
恢复最近一次暂存的工作进度。
45.查看暂存的工作进度列表:
git stash list
查看所有暂存的工作进度列表。
46.删除暂存的工作进度:
git stash drop <stash@{n}>
删除指定的暂存的工作进度,其中 {n}
为暂存列表中的索引号。
47.清空暂存的工作进度:
git stash clear
清空所有暂存的工作进度。
48.在特定提交修复 bug:
git bisect start git bisect good <commit> git bisect bad <commit>
使用二分查找定位引入 bug 的提交,并修复问题。
49.将多个提交合并为一个提交:
git rebase -i HEAD~n
将最近的 n 个提交合并为一个提交,通过交互式界面编辑合并策略。
50.查看文件的历史修改记录:
git blame <文件名>
查看指定文件的每一行代码是谁在什么时候修改的。
51.在特定提交修复 bug 后继续 rebase:
git rebase --continue
在解决完冲突或应用修复后,继续执行 rebase 操作。
52.放弃 rebase 操作:
git rebase --abort
放弃当前正在进行的 rebase 操作,并回到 rebase 开始之前的状态。
53.使用图形化界面查看提交历史:
git log --graph --oneline --all
以图形化的方式查看提交历史,显示所有分支的提交情况。
54.将本地未跟踪文件从工作目录中删除:
git clean -f
删除工作目录中所有未跟踪的文件,包括新添加但未添加到暂存区的文件。
55.查看某个文件是谁在何时修改的:
git log --follow <文件名>
查看某个文件的修改历史,包括文件的重命名和移动。
56.将工作目录恢复到指定提交的状态:
git checkout <commit> -- <文件名>
将指定文件恢复到指定提交的状态,相当于撤销对该文件的修改。
57.合并指定分支到当前分支并保留历史记录:
git merge --no-ff <分支名>
将指定分支合并到当前分支,但保留合并的历史记录,即使是快进合并。
58.创建并应用补丁文件:
git apply <补丁文件>
应用指定的补丁文件到当前工作目录。
59.生成并应用补丁文件:
git diff <起始提交> <目标提交> > <补丁文件> git apply <补丁文件>
生成指定范围的提交间的补丁文件,并将其应用到当前工作目录。
60.修改最后一次提交的内容并保留提交历史:
git commit --amend --no-edit
修改最后一次提交的内容,但不修改提交信息,保留提交历史的完整性。
61.查看当前工作目录和暂存区的状态变化:
git status
显示当前工作目录和暂存区的状态,包括已修改、已暂存和未跟踪的文件。
62.将指定文件从暂存区中移除,但保留在工作目录中的修改:
git reset HEAD <文件名>
将指定文件从暂存区中移除,但保留在工作目录中的修改,使其变为未暂存状态。
63.查看提交历史中的变更内容:
git diff <commit1> <commit2>
比较两个提交之间的差异,显示出所有修改的内容。
64.查看暂存区与最新提交之间的差异:
git diff --cached
比较暂存区与最新提交之间的差异,显示出即将被提交的内容。
65.将工作目录和暂存区中的所有修改回退到最新的提交状态:
git reset --hard HEAD
将工作目录和暂存区中的所有修改回退到最新的提交状态,慎用,会永久丢失未提交的修改。
66.将工作目录中的文件恢复到最新的提交状态:
git checkout -- <文件名>
将工作目录中的指定文件恢复到最新的提交状态,相当于撤销对该文件的修改。
67.查看提交历史中某个作者的所有提交记录:
git log --author=<作者名>
查看提交历史中某个作者的所有提交记录。
68.查看某个文件的最近修改者:
git log -1 --format="%an" -- <文件名>
查看某个文件的最近修改者是谁。
69.将某个提交的修改合并到当前分支,并保留提交历史:
git cherry-pick -n <commit>
将某个提交的修改合并到当前分支,但不自动提交,以便进一步调整或编辑再提交。
70.将某个提交的修改合并到当前分支,并编辑提交信息:
git cherry-pick -e <commit>
将某个提交的修改合并到当前分支,并允许编辑提交信息后提交。
71.在提交中查找特定关键词:
git log --grep=<关键词>
在提交历史中查找包含特定关键词的提交记录。
72.查看某个文件的具体修改内容:
git log -p <文件名>
查看某个文件的具体修改内容及其提交历史。
73.将某个提交的修改合并到当前分支,并保留原提交信息:
git cherry-pick --no-commit <commit>
将某个提交的修改合并到当前分支,但不自动提交,保留原提交信息。
74.查看某个文件的提交历史:
git log -- <文件名>
查看某个文件的提交历史,包括该文件的修改记录。
75.将某个提交的修改合并到当前分支,并指定提交者信息:
git cherry-pick --author=<作者名> <commit>
将某个提交的修改合并到当前分支,并指定提交者信息。
76.将当前分支重置到另一分支的状态:
git reset --hard <另一分支名>
将当前分支重置到另一分支的状态,丢弃当前分支的所有修改。
77.将工作目录中的所有修改暂存起来:
git add .
将工作目录中的所有修改暂存起来,准备提交到版本库。
78.查看某个提交的具体修改内容:
git show <commit>
查看某个提交的具体修改内容,包括修改的文件和具体修改内容。
79.在提交信息中查找特定关键词:
git log --grep=<关键词> --oneline
在提交信息中查找包含特定关键词的提交记录,并以简洁的方式显示。
80.查看当前分支的合并情况:
git branch --merged
查看当前分支已经合并的其他分支。
81.查看当前分支的未合并情况:
git branch --no-merged
查看当前分支尚未合并的其他分支。
82.将某个提交的修改合并到当前分支,并跳过提交信息:
git cherry-pick --no-commit --no-verify <commit>
将某个提交的修改合并到当前分支,跳过提交信息的验证。
83.将工作目录中的修改暂存起来,并包括新添加的文件:
git add -A
将工作目录中的所有修改暂存起来,包括新添加的文件,准备提交到版本库。
84.查看提交历史中某段时间内的所有提交记录:
git log --since=<时间> --until=<时间>
查看某段时间内的所有提交记录,可以指定起始时间和结束时间。
85.将某个提交的修改合并到当前分支,并跳过可能的冲突:
git cherry-pick --strategy-option=theirs <commit>
将某个提交的修改合并到当前分支,若有冲突则优先选择被合并分支的修改。
86.将某个提交的修改合并到当前分支,并跳过提交信息和可能的冲突:
git cherry-pick --no-commit --no-verify --strategy-option=theirs <commit>
将某个提交的修改合并到当前分支,跳过提交信息的验证和可能的冲突,优先选择被合并分支的修改。
87.在提交历史中查找指定作者的提交记录,并按照时间排序:
git log --author=<作者名> --date-order
在提交历史中查找指定作者的提交记录,并按照提交时间顺序显示。
88.将当前分支的修改保存到临时工作区,以便切换到其他分支:
git stash
将当前分支的修改保存到临时工作区,以便切换到其他分支进行工作。
89.将工作目录中的修改暂存起来,并包括被删除的文件:
git add -u
将工作目录中的所有修改暂存起来,包括被删除的文件,准备提交到版本库。
90.从临时工作区恢复修改到当前分支:
git stash pop
从临时工作区恢复修改到当前分支,同时删除临时工作区的存储。
91.将当前分支的修改保存到临时工作区,但不包括未跟踪的文件:
git stash --keep-index
将当前分支的修改保存到临时工作区,但不包括未跟踪的文件,适用于只想暂存已跟踪文件的情况。
92.将当前分支的修改保存到临时工作区,并包括未跟踪的文件:
git stash -u
将当前分支的修改保存到临时工作区,并包括未跟踪的文件,准备进行其他操作或切换分支。
93.在提交历史中查找提交信息中包含指定关键词的记录,并显示统计信息:
git log --grep=<关键词> --oneline --stat
在提交历史中查找提交信息中包含指定关键词的记录,并显示每条记录的修改统计信息。
94.将某个提交的修改应用到当前分支,但不创建新的提交:
git cherry-pick --no-commit <commit>
将某个提交的修改应用到当前分支,但不创建新的提交,允许进一步修改或调整后再提交。
95.撤销合并冲突,并重新尝试合并:
git cherry-pick --continue
在解决完合并冲突后,重新尝试将修改合并到当前分支。
96.放弃合并操作,并回到合并之前的状态:
git cherry-pick --abort
放弃当前的合并操作,并回到合并之前的状态,恢复到合并之前的分支状态。
97.将指定提交的修改作为一个新的提交,而不是合并到当前分支:
git format-patch -1 <commit> --stdout | git am -3 -k
将指定提交的修改作为一个新的提交应用到当前分支,而不是合并到当前分支。
98.在提交历史中查找指定路径下的所有修改记录:
git log -- <路径>
在提交历史中查找指定路径下的所有修改记录,包括文件的添加、修改和删除。
99.创建并切换到新的分支:
git checkout -b <新分支名>
创建并切换到新的分支,相当于执行 git branch <新分支名> 和 git checkout <新分支名> 两个命令。
100.将当前分支的修改保存到临时工作区,并包括未跟踪的文件和被忽略的文件:
``` git stash -a ``` 将当前分支的修改保存到临时工作区,并包括未跟踪的文件和被忽略的文件,准备进行其他操作或切换分支。
这些 Git 命令和技巧能够帮助你更加灵活地管理代码,处理各种版本控制的情况,提高工作效率和代码管理的质量。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。