想要在团队中处理代码时有效协作并跟踪更改,版本控制发挥着至关重要的作用。Git 是一个版本控制系统,可以帮助开发人员跟踪修订、识别文件版本,并在必要的时候恢复旧版本。Git 对于有一定编程经验的用户来说虽然不算太难,但是想要玩转一些高级功能也并不是件容易的事情。在这篇文章中,我将向你展示一些最实用的 Git 命令,手把手教你成为 Git 专家。
1. git config
git config 是你需要熟知的基本 Git 命令之一。该命令有助于设置电子邮件、用户名、文件格式、首选文件算法和许多其他属性的配置值。命令示例如下:
# configure the user which will be used by Git
# this should be not an acronym but your full name
$ git config --global user.name "Firstname Lastname"
# configure the email address
$ git config --global user.email "your.email@example.org"
2. git init
git init 是最常用的 Git 命令之一,用于适合初始化 Git 仓库(创建新仓库)。.git 文件夹通常保持隐藏状态,如果是 Windows,需要在查看中选择“隐藏的项目”。对于 Linux,可以使用“ls –a”命令查看.git 目录。建议任何人都不要篡改 .git 文件夹的内容。
$ git init <the name of your repository>
3. git clone
此命令用于从现有 URL 获取存储库。
$ git clone <the url of the repository>
4. git add
git add 命令可以帮助用户将当前在工作目录中的文件修改添加到用户 index 中,帮助用户添加准备提交到远程存储库的未跟踪文件。
$ git add myfile
此命令会将 myfile 添加到暂存区。
5. git branch
git branch 是 git 初学者需要熟练掌握的重要命令。该命令可帮助用户创建、删除和列出分支。这个命令有一些重要选项: -v -a 显示有关所有分支的更多信息。默认情况下,列出的分支只会显示本地分支名称。
- -a:查看所有分支,包括本地及远程分支
- -v:查看本地分支及其对应的提交记录
-- no-merged 返回所有尚未合并到当前 HEAD branch的分支。 -d 删除指定的分支。
# list all branches
$ git branch -a -v
# Return all branches that has not merged
$ git branch --no-merged
# Return all branches thaat has merged
$ git branch --merged
6. git commit
git commit 命令捕获项目当前暂存更改的快照。
$ git commit -m “first commit”
7. git push
git push 命令可以帮助用户将所有修改过的本地 Git 仓库中的本地分支推送到远程仓库。
$ git push origin master
8. git diff
git diff 命令可用于创建补丁文件或统计索引、工作目录或 git 存储库中路径或文件之间的差异。
$ git diff
9. git status
git status 命令可以帮助显示索引中文件和工作目录中文件的状态。该命令将轻松列出未跟踪、修改和暂存的文件。
$ git status
10. git show
此命令显示指定提交的元数据和内容更改。
$ git show
11. git tag
此命令将有助于使用简单、持久且人类可读的句柄标记特定提交。该命令的示例如下
git tag –a v2.0 –m ‘this is version 2.0 tag’
12. git merge
git merge 是一项强大的功能,用于将两个或两个以上的开发历史合并在一起。当开发人员处理相同的代码并希望在将它们推送到分支之前集成更改时则需要使用命令。
$ git merge branch_name
13. git log
git log 命令列出了项目中曾发生的每一次提交,方便用户查看随着时间的推移发生了哪些变化,以及有关提交如何完成的其他一些信息。
$ git log
14. git reset
使用 git reset 命令来回退版本,改命令可以退回某一次提交的版本,注意谨慎使用 --hard 参数,该参数会删除回退点之前的全部信息。
$ git reset [commit id]
15. git rm
此命令用于删除 index 中的文件。要从当前工作目录中删除特定文件并分阶段删除,请使用以下命令:
$ git rm <filename>
16. git remote
此命令用于将本地 git 存储库连接到远程服务器。
$ git remote add [variable name] [Remote Server Link]
17. git fsck
此命令用于检查 Git 文件系统的问题,常用来检查内部数据库的完整性和不一致性问题。
$ git fsck
18. git pull
此命令用于从远程服务器上获取代码,并合并本地的版本。
$ git pull repository_link
19. git checkout
git checkout 命令允许我们切换到现有分支或创建并切换到新分支。此外,在 git checkout 命令后可以使用-b参数,系统将自动创建一个新的分支并立即切换到这个分支上来。
Switch to an existing branch:$ git checkout <branch-name>
#Create and switch to a new branch
$ git checkout -b <branch-name>
20. git stash
该命令用于将所有修改过的文件暂时存放在工作目录中。 暂时保存所有修改过的跟踪文件:
$ git stash
列出所有的暂存文件:
$ git stash list
删除最新的存储:
$ git stash drop
原文作者:Thomas Sentre 全栈工程师 原文链接:https://dev.to/devland/20-git-commands-that-will-make-you-a-version-control-pro-149p