Git 基础:终极指南
如何创建新的存储库
创建新目录,打开它并执行
git init
创建一个新的 git 存储库。
如何检出存储库
通过运行命令创建本地存储库的工作副本
git clone /path/to/repository
如果你想创建远程存储库的工作副本
git clone username@host:/path/to/repository
工作流程
您的本地存储库由 git 维护的三个“树”组成。第一个是您的工作目录,它保存实际文件。第二个是索引,它充当暂存区,最后是HEAD,指向您所做的最后一次提交。
添加并提交
您可以使用以下方式提出更改(将其添加到索引中)
git add <filename>
或者
git add *
这是基本 git 工作流程的第一步。要实际提交这些更改,请使用
git commit -m "Commit message"
现在该文件已提交至HEAD,但尚未提交至远程存储库。
推动变革
你的更改现在位于本地工作副本的HEAD中。要将这些更改发送到远程仓库,请执行
git push origin master
将 master 更改为您想要推送更改的任何分支。
如果您尚未克隆现有存储库并希望将存储库连接到远程服务器,则需要使用以下命令添加它
git remote add origin <server>
现在您可以将更改推送到选定的远程服务器
分枝
分支用于开发彼此独立的功能。创建代码库时,主分支是“默认”分支。您可以使用其他分支进行开发,并在完成后将它们合并回主分支。
创建一个名为“branch_x”的新分支并使用
git checkout -b branch_x
切换回主服务器
git checkout master
并再次删除分支
git branch -d branch_x
除非您将分支推送到远程存储库,否则其他人无法使用该分支
git push origin <branch>
更新和合并
要将本地存储库更新为最新提交,请执行
git pull
在您的工作目录中获取并合并远程更改。
要将另一个分支合并到您的活动分支(例如 master),请使用
git merge <branch>
在这两种情况下,git 都会尝试自动合并更改。遗憾的是,这并非总是可行,并且会导致冲突。您需要通过编辑 git 显示的文件来手动合并这些冲突。更改后,您需要将它们标记为已合并
git add <filename>
在合并更改之前,您还可以使用以下方式预览它们
git diff <source_branch> <target_branch>
标记
建议为软件版本创建标签。这是一个已知概念,在 SVN 中也存在。您可以通过执行以下命令创建一个名为 0.0.1 的新标签:
git tag 0.0.1 1b2e1d63ff
1b2e1d63ff 代表您想要在标签中引用的提交 ID 的前 10 个字符。您可以通过查看以下代码获取提交 ID……
日志
以其最简单的形式,您可以使用...研究存储库历史记录。
git log
你可以添加很多参数来让日志看起来像你想要的那样。要只查看特定作者的提交:
git log --author=bob
要查看非常压缩的日志,其中每个提交占一行:
git log --pretty=oneline
或者您可能想查看所有分支的 ASCII 艺术树,并用标签和分支的名称装饰:
git log --graph --oneline --decorate --all
仅查看哪些文件已更改:
git log --name-status
这些只是您可以使用的部分参数。更多信息,请参阅
git log --help
替换本地更改
万一你做错了什么(这肯定不会发生 ;),你可以使用命令替换本地更改
git checkout -- <filename>
这会将工作树中的更改替换为HEAD中的最新内容。已添加到索引的更改以及新文件都将保留。
如果你想删除所有本地更改和提交,请从服务器获取最新历史记录,并将本地主分支指向它,如下所示
git fetch origin
git reset --hard origin/master
其他有用的命令
内置 git GUI
gitk
使用彩色的 git 输出
git config color.ui true
每次提交仅显示一行日志
git config format.pretty oneline
使用交互式添加
git add -i
更多“最终指南”请参阅索引页
鏂囩珷鏉ユ簮锛�https://dev.to/zigrazor/git-basics-the-final-guide-1ne4