Git 初始化
初始化代码仓库
创建一个空的 Git 仓库或者重新初始化一个已存在的
git init 复制代码
克隆代码仓库
将 foo 仓库克隆到一个名为 foo 的新目录中:
git clone https://github.com/<username>/foo.git foo 复制代码
Git 分支
如何在 Git 仓库中创建一个新的分支
当您想开发一个新需求时,通常会在 Git 中创建一个新分支。可以远离主分支,处理自己的需求分支,这样 master 分支总是干净的。
要创建新分支
git checkout -b <new_branch_name> 复制代码
如何在获取 Git 中所有分支
如果您想知道工作目录中有哪些分支可用,请使用:
git branch 复制代码
输出示例:
develop my_feature master 复制代码
如何在 Git 中切换分支
创建新分支时,Git 会自动切换到新分支。
如果您有多个分支,那么可以使用 git checkout
轻松切换分支:
git checkout master git checkout develop git checkout my_feature 复制代码
如何在 Git 中删除分支
要删除本地分支:
git checkout -d<local_branch> 复制代码
使用 -D 参数强制执行删除。
如果要删除源上的远程分支,请执行以下操作:
git push origin :<remote_branch> 复制代码
相关文章:
Git 暂存
暂存文件只是为提交做准备。当你添加或修改一些文件时,你需要将这些更改放到 Git 的“暂存区”。”暂存区“就像一个盒子,你把东西放在里面,然后再把这个盒子放在床下,而你的床是一个储存库,里面存放着你以前放过的盒子。
Git 暂存区文件
要往暂存区添加文件,可以使用 git add
命令。可以暂存单个文件:
git add foo.js 复制代码
或一次添加所有文件:
git add . 复制代码
Git 撤销暂存
如果要从暂存区中删除某个文件:
git reset HEAD foo.js 复制代码
或删除所有暂存文件:
git rest HEAD . 复制代码
您还可以为命令创建别名,然后将其与 Git 一起使用:
git config --global alias.unstage 'reset HEAD' git unstage . 复制代码
Git 状态
如果您想查看哪些文件已被创建、修改或删除,可以通过 git status
查看。
git status 复制代码
Git 提交
经常提交是一个好习惯。你总是可以在推送之前合并你的提交。在提交之前,需要将文件添加到暂存区。
commit 命令需要指定 -m 选项。
您可以像这样提交:
git commit-m “更新内容描述” 复制代码
撤消提交
以下命令将撤消您最近的提交,并将这些更改放回暂存区,这样您就不会丢失任何内容:
git reset --soft HEAD~1 复制代码
要完全删除提交并删除所有更改,请使用:
git reset --hard HEAD~1 复制代码
合并提交
假设您有4个提交,但您还没有向仓库推送任何内容,并且您希望将所有内容放入一个提交中,那么您可以使用:
git rebase -i HEAD~4 复制代码
- HEAD~4指的是最后四次提交。
- -i选项打开一个交互式文本文件。
您将在每次提交的左侧看到“pick”一词。保留顶部的一个,并将所有其他的替换为“s”以进行挤压,保存并关闭文件。
然后打开另一个交互式窗口,您可以在其中将提交消息更新为一个新的提交消息。
Git 推送
在提交更改后,下一步是推送到远程仓库。
第一次推送
首次推送本地分支:
git push --set-upstream origin <branch> 复制代码
之后,您可以使用
git push 复制代码
将本地分支推送到不同名称的远程分支
要将本地分支推送到其他远程分支,可以使用:
git push origin <local_branch>:<remote_branch> 复制代码
撤消上次推送
如果您必须撤消上一次推送,可以使用:
git reset --hard HEAD~1 && git push -f origin master 复制代码
Git 获取
当使用 git fetch
时,git不会将其他提交与当前分支合并。如果您需要使存储库保持最新,但正在处理可能会在更新文件时损坏的内容,这一点尤其有用。
要将提交集成到主分支中,可以使用merge。
获取远程仓库更新
git fetch upstream 复制代码
Git 拉取
拉取只是执行一次提取,然后执行一次合并。当使用 git pull
时,git 会自动合并其他提交,而不是查看它们。如果不密切管理分支,可能会遇到冲突。
拉取一个分支
如果您有一个名为 my_feature 的分支,并且希望拉取该分支,可以使用:
git origin/my_feature 复制代码
拉取全部内容
或者,如果你想把所有的东西和所有其他的分支都拉取出来
git pull 复制代码
Git 合并和变基
当运行 git merge
时,HEAD 分支将生成一个新的提交,保留每个提交历史。
重新基础将一个分支的更改重新写入另一个分支,而不创建新的提交。
将主分支合并到指定分支
git checkout my_feature git merge master 复制代码
或者使用 rebase
选项,您可以使用:
git checkout my_feature git rebase master 复制代码
将指定分支合并到主分支
git checkout master git merge my_feature 复制代码
Git Stash
有时您在一个分支上进行更改,并希望切换到另一个分支,但不希望丢失更改。
你可以把这些更改隐藏起来。执行如下命令可以在Git中隐藏更改:
git stash 复制代码
现在,如果您想取消隐藏这些更改并将其带回工作目录,请使用:
git stash pop