GIT命令和最佳实践
最近看到一篇关于 GIT 命令的文章,感觉写的很不错,因此翻译了本文。
关于 git 的命令,Git-Cheat-Sheet上有全部和详细的解释,建议大家没事的时候阅读阅读。
git init 和 git clone
在开始学习 Git 前,你可以使用 Git init 和 git clone 这两个命令。我们可以使用这两个命令创建档案,然后管理我们的源代码。它们的区别是:使用 init 命令构成库将从头开始;而使用 clone 命令,将一个实际的存储库复制到你的目录库中。下面将分别列举这两个命令的使用方法:
$ git init myProject
Initialized empty Git repository in /Users/sjmaple/myProject/.git/
下面是 git clone 命令的用法:
$ git clone https://github.com/zeroturnaround/ziprebel.git
Cloning into 'ziprebel'...
remote: Counting objects: 94, done.
remote: Total 94 (delta 0), reused 0 (delta 0), pack-reused 94
Unpacking objects: 100% (94/94), done.
Checking connectivity... done.
使用 git 命令最成功的项目便是 github。我们可以上面的两个用法,在 github 上创建我们的项目。
git branch (分支)
有时候,项目或产品需要一些特殊的改动,需要采用分支时,我们可以使用 git branch 命令,下面是该命令的用法:
$ git branch feature/unzip
$ git branch
feature/unzip
* master
而且各个分支之间互相切换也非常方便,下面是使用 git checkout 命令进行分支切换的。
$ git checkout feature/unzip
Switched to branch 'feature/unzip'
git 的几个主要命令和它们之间的关系如下图所示:
只要把上面的结构图中的内容搞清楚,你就是一个git高手了。
git status (文档状态)
查看所有文案状态,我们可以使用 git status 命令。
$ git status
On branch feature/unzip
nothing to commit, working directory clean
如果有未提交的文件,或者修改的文件等,执行 git status 命令后,会有详细的信息提示给你。
$ git status
On branch feature/unzip
Changes not staged for commit:
(use "git add ..." to update what will be committed)
(use "git checkout -- ..." to discard changes in working directory)
modified: src/main/java/org/zeroturnaround/ziprebel/ZipRebel.java
modified: src/test/java/org/zeroturnaround/ziprebel/ZipRebelTest.java
no changes added to commit (use "git add" and/or "git commit -a")
“$ git add .”这个命令会让当前分支下未提交的文件全部添加到 commit 队列。
$ git add .
执行“$ git add .”命令后,我们就可以执行 git commit 命令进行提交了。
$ git commit -m "Added unzip capability"
[feature/unzip 05db2cc] Added unzip capability
2 files changed, 2 insertions(+), 2 deletions(-)
git 相关的命令还有很多,本文只是列举了其中的冰山一角。关于更多的 git 命令学习资料,大家可以参考https://www.git-tower.com/blog/git-cheat-sheet/的命令说明。
本文翻译整理自:GIT COMMANDS AND BEST PRACTICES CHEAT SHEET。
扫描下方二维码,关注业余草微信公众号,回复“FFmpeg”关键词,获取 FFmpeg 视频教程!