GIT命令和最佳实践

分类: Linux 发布时间: 2017-07-16 10:51

最近看到一篇关于 GIT 命令的文章,感觉写的很不错,因此翻译了本文。

Git-Cheat-Sheet

Git-Cheat-Sheet

关于 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 的几个主要命令和它们之间的关系如下图所示:

GitHub-cheat-sheet-graphic

GitHub-cheat-sheet-graphic

只要把上面的结构图中的内容搞清楚,你就是一个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


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!