git 实际应用示例_带有示例的热门Git命令

git 实际应用示例

快速指南,介绍如何使用git命令以及每个开发人员在日常生活中使用的最高命令。

1.简介

在本教程中,您将学习可以在日常生活中使用的git命令 。 您将看到带有示例顶级git命令 。 您无法想象没有使用版本控制工具(如git,bitbucket或任何工具)的开发人员的生活。

因为这使得维护编程文件和与队友协作变得如此容易和容易。

在IDE eclipse中使用GUI插件或在Intelleji工具中,大多数人都不使用git命令。

但是,如果您了解所有这些方便的命令,您将有信心处理从终端手动解决的冲突。
Git教程

2.方便的Git命令

Git命令:让我们看看终端或命令提示符中最常用的命令是什么,例如Windows中的git bash。 至少所有开发人员都应该了解以下内容,并且软件行业中最常使用以下内容。 我们将从头开始一个接一个地讨论。

Git命令列表:

  • git配置
  • git init
  • git克隆
  • git帮助
  • git状态
  • git添加
  • git分支
  • git提交
  • git推
  • git pull
  • git checkout
  • git存储
  • git合并
  • git重置
  • git远程
  • git差异
  • git rm
  • git日志
  • git show
  • git标签

3. Git Config命令示例

这是最重要的一个,但是在您加入新公司或在办公室购买新笔记本电脑时,仅使用一次。 这只是一项一次性的工作,但是如果您想使用下面的“ git config ”命令随时更改姓名,电子邮件地址等信息,请执行以下操作。

可以在全局,系统或用户级别设置名称,电子邮件值。

示例命令来设置用户名和电子邮件地址。

git config –global <属性名称> <值>

git config –global user.name“ JavaProgramTo.com”

git config –global user.email“ admin@javaprogramto.com”

 $ git config --global user.name "JavaProgramTo.com"   $ git config --global user.email "admin@javaprogramto.com"   $ git config --global user.email   admin@javaprogramto.com   $ git config --global user.name   JavaProgramTo.com 

要查看您的计算机中已设置的所有用户配置,请使用“
git config –list | grep'用户'

git config –list | grep'用户'

user.email=admin@javaprogramto.com

user.name = JavaProgramTo.com

4. Git初始化命令示例

“ git init”是将项目转换为git项目。 要查看当前文件夹是否在git下,或者不使用git status命令查看,或者如果根目录中存在“ .git ”文件夹,则为git project。

如果不是git项目,则只需在根文件夹中运行“ git init ”命令即可将其转换为git项目。

git init

$ pwd/Users/Documents/workspace/git-demo$ git statusfatal: not a git repository (or any of the parent directories): .git$ ls -a.  ..  file1.txt$ git initInitialized empty Git repository in /Users/Documents/workspace/git-demo/.git/$ ls -a.  ..  .git  file1.txt$ git statusOn branch master


No commits yet


Untracked files:
  (use "git add <file>..." to include in what will be committed)


 file1.txt


nothing added to commit but untracked files present (use "git add" to track)

5. Git clone命令示例

如果您想从GitHub或bitbucket或远程位置克隆任何仓库,请使用“ git clone“仓库位置””

git clone <远程存储位置>

$ git clone https://github.com/JavaProgramTo/CoreJava.git
Cloning into 'CoreJava'...
remote: Enumerating objects: 97, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 97 (delta 14), reused 95 (delta 12), pack-reused 0
Unpacking objects: 100% (97/97), done.
$

您也可以克隆到新文件夹中。 在这里,CoreJava git repo将被克隆到一个新文件夹core-java-tutorials

$ git clone https://github.com/JavaProgramTo/CoreJava.git core-java-tutorials
Cloning into 'core-java-tutorials'...
remote: Enumerating objects: 97, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 97 (delta 14), reused 95 (delta 12), pack-reused 0
Unpacking objects: 100% (97/97), done.
$ls
CoreJava  core-java-tutorials file1.txt

6. Git帮助命令示例

如果您对任何命令都不了解。 使用“ git help <命令名称>”可提取语法及其所有选项。

git help <命令名称>

$ git help init

它显示在如下所示的新编辑器中,然后按'q'进入终端。

7. Git状态命令示例

要查看文件列表,将其修改并添加到当前目录的阶段中。 并显示当前分支名称。

git状态

$ git status
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/
 file1.txt

没有添加任何内容提交但存在未跟踪的文件(使用“ git add”进行跟踪)

8. Git添加命令示例

'git add'命令将新文件或现有的已修改文件添加到git阶段。 从当前目录工作。

执行“ git add”命令后,文件将从未跟踪的文件移至“ 要提交的更改

git添加<文件-1-名称>

$ git添加file1.txt

$ git状态

在分支机构主管

尚无提交

所做更改:

(使用“ git rm –cached <文件>…”取消登台)

新文件:file1.txt

未跟踪的文件:

(使用“ git add <文件>…”来包含将要提交的内容)

CoreJava /

核心Java教程/

即使您可以通过使用空格分隔文件名来添加多个文件,也可以使用
'*'将所有文件添加到舞台上。

git添加<file-1-name> <file-2-name>

对于

git添加*

9. Git提交命令示例

'git commit'命令在阶段区域(“要提交的更改”部分)中提交文件,并为此提交创建一个新的提交ID。

但是这些文件现在在git上不可用。 在此阶段,所有文件都像现在一样在本地计算机上。

git commit -m <提交名称>

$ git commit -m 'first commit'
[master (root-commit) 8dbddf5] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file1.txt
Venkateshs-MacBook-Pro-2:git-demo venkateshn$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/

没有添加任何内容提交但存在未跟踪的文件(使用“ git add”进行跟踪)

10. Git push命令示例

提交后,使用' git push '命令将您的更改移动到远程存储库中,这意味着从那里创建存储库。

git推

git push origin <分支名称> ->将更改暂停到特定分支

git push -all –>将所有分支更改推送到远程git。

$ git push

11. Git Pull命令示例

如果您有其他更改,这些更改是您的队友所做的,并获取最新更改以使用“
git pull '命令。

git pull- >从当前分支中提取

git pull <repo-url> ->从给定的仓库中提取更改

$ git pull

12. Git分支命令示例

要查看此仓库下的所有分支,请使用“ git branch”

git分支

$ git分支

*大师 发展

要看到,所有的远程分支都使用' git branch -r '

git branch -r- >查看远程分支

git branch <new-branch> release- >从release分支创建一个新分支。

13. Git Checkout命令示例

如果您已经在本地仓库中修改了文件,并且想用远程文件替换所有更改,请使用' git checkout <文件名> '

$ git checkout file1.txt

14. Git Stash命令示例

如果您在本地修改了文件,并且不想立即提交,请使用“
git stash '。

现在,修改后的文件将显示在“ git status”命令中。

$ vi file1.txt 
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

 modified:   file1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/

no changes added to commit (use "git add" and/or "git commit -a")
$ git stash
Saved working directory and index state WIP on master: 8dbddf5 first commit
$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/

nothing added to commit but untracked files present (use "git add" to track)

没有添加任何内容提交但存在未跟踪的文件(使用“ git add”进行跟踪)

再次向git stash添加了一些文件。 “保存”是可选的,默认情况下会保存。

$ git stash保存

要查看git stash中的所有提交,请使用“ git stash list”

$ git stash list
stash@{0}: WIP on master: 8dbddf5 first commit
stash@{1}: WIP on master: 8dbddf5 first commit

要获得从存储到阶段的最新更改,请使用' git stash pop '

$ git stash pop
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

 modified:   file1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/
 file2.txt

no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/stash@{0} (9faef149414d5c6ab7047ed493c77a3b444e04e6)

现在,使用命令git stash list”查看存储中所有提交的列表

$ git stash list
stash@{0}: WIP on master: 8dbddf5 first commit

15. Git分支命令示例

git branch命令列出该仓库中所有可用的分支。

这将显示所有分支,直到您最后一次执行git pull为止。 之后,它将拉动是否在远程分支上创建了任何新分支,而这些新分支无法从本地分支中看到。

$ git branch
  develop
* master

要仅查看远程分支,请使用“ git branch -r”,并使用“ git branch -a ”访问所有远程和本地分支。

$ git branch -r
  origin/dummy
  origin/master
$ git branch -a
  develop
* master
  remotes/origin/dummy
  remotes/origin/master
$ git branch
  develop
* master

16. Git合并命令示例

如果您要将另一个分支合并到当前分支,请使用“
git merge '命令。

进行更改以开发分支,并将开发分支合并到主分支。

$ git status
On branch develop
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

 modified:   file1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/
 file2.txt

Venkateshs-MacBook-Pro-2:git-demo venkateshn$ git commit -m 'added line 2'
[develop 17569dd] added line 2
 1 file changed, 3 insertions(+)

将develop分支合并到master分支。

git mergedevelop- >将develop分支的更改合并到当前分支。

$ git checkout master
Switched to branch 'master'
$ git merge develop
Updating 8dbddf5..17569dd
Fast-forward
 file1.txt | 3 +++
 1 file changed, 3 insertions(+)

17. Git日志命令示例

要查看任何分支或当前分支中的所有提交版本历史记录,请使用
' git log '命令。

$ git log
commit 94c3fcb44b57cc13a3bdadaabe708e1d0e38a16e (HEAD -> master)
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 22:24:55 2020 +0530

    adding file2

commit 17569dd273defd6ef7a4de554f20a966504fa629 (develop)
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 22:17:12 2020 +0530

    added line 2

commit 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 21:21:42 2020 +0530

    first commit

默认情况下,' git log '命令显示当前分支的所有提交,但是它提供不同的标志来执行特定的操作集。

要查看特定文件的文件提交,请使用“
git log –关注<文件名> '

查看file1.txt的提交

$ git log --follow  file1.txt 
commit 17569dd273defd6ef7a4de554f20a966504fa629 (develop)
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 22:17:12 2020 +0530

    added line 2

commit 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 21:21:42 2020 +0530

    first commit

查看file2.txt的所有提交

$ git log --follow  file2.txt 
commit 94c3fcb44b57cc13a3bdadaabe708e1d0e38a16e (HEAD -> master)
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 22:24:55 2020 +0530

    adding file2

18. Git Diff命令示例

使用以下命令查看修改后的文件与远程文件之间的区别
' git diff '命令。

$ git diff
diff --git a/pom.xml b/pom.xml
index f47e51e..8702bb4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
        </properties>

        <dependencie
-
+               <!-- spring boot dev tools-->
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-devtools</artifactId>

现在,将修改后的文件添加到git中。

$ git add pom.xml 
$ git diff
$

现在,git diff没有显示差异,但是您仍然可以看到diff wit标志“ –staged ”。

git diff –暂存

$ git diff --staged
diff --git a/pom.xml b/pom.xml
index f47e51e..8702bb4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
        </properties>

        <dependencie
-
+               <!-- spring boot dev tools-->
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-devtools</artifactId>

查看两个分支之间差异的另一种有趣方式。

$ git diff master开发

19. Git重置命令示例

要从舞台中删除文件,文件应位于本地系统中。

请参阅有关“ git reset and git rm”命令的深入文章, 以取消暂存文件

语法: git reset <文件名>

$ git reset file1.txt

取消暂存并从特定提交中删除所有文件。 但是,此提交中的所有文件将在本地计算机中保留已修改的状态。

git reset <提交ID>

$ git reset 6873c7a6c1135b3a977c9d14404e0fd652f566a8

重置后的未分级更改:

M pom.xml

放弃提交中的所有更改并返回到特定提交。

$ git reset --hard 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
HEAD is now at 8dbddf5 first commit
$ ls
CoreJava  core-java-tutorials file1.txt
$

重置为第一次提交后,我们在本地文件系统中看不到file2.txt。 因为,如果您使用' hard '标志,则它将删除文件的所有历史记录。

运行带有' hard '标志的git命令时必须小心。

20. Git Rm命令示例

此命令将从当前本地工作目录以及舞台中删除文件。 一旦提交并推送,文件将从git repo中永久删除。

如果您不使用任何标志,那么只需执行git rm命令即可删除该文件。

$ ls
CoreJava  core-java-tutorials file1.txt
$ git rm file1.txt 
rm 'file1.txt'
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

 deleted:    file1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/

$ls
$

'git rm'命令不适用于暂存文件,仅适用于已提交的文件。

现在创建了一个新的file3.txt并添加到git中。 然后尝试删除带有' git rm file3.txt '的file3.txt文件。 这会导致错误,提示使用'-cached'或'-f'标志

$ git rm file3.txt 
error: the following file has changes staged in the index:
    file3.txt
(use --cached to keep the file, or -f to force removal)
$

“ –cached”标志用于从暂存中删除文件并保留更改。

$ git rm --cached file3.txt 
rm 'file3.txt'

$ git status
On branch master
Changes to be committed:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
 file3.txt

git rm -f file3.txt –刚刚从本地计算机上删除了文件。

$ git add file3.txt 
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

 deleted:    file1.txt
 new file:   file3.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/


$ git rm -f file3.txt 
rm 'file3.txt'
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
Untracked files:
  (use "git add <file>..." to include in what will be committed)

$

21. Git标签命令示例

此命令用于将标签赋予指定的提交。

git标签<commit-d>

$ git tag 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
$ git tag 
8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10

'git tag'命令查看分支的所有标签。

22. Git Show命令示例

git show ”命令显示在提交中更改的内容的文件元数据部分。 默认情况下,它显示git log命令的最新提交结果。

$ git show
commit 68c7e111b3995a5104b1651550f29874733f2a96 (HEAD -> master, tag: 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10)
Author: JavaProgramTo.com <admin@javaprogramto.com>
Date:   Sun May 10 22:51:59 2020 +0530

    file one modified

diff --git a/file1.txt b/file1.txt
index e69de29..b806426 100644
--- a/file1.txt
+++ b/file1.txt
@@ -0,0 +1 @@
+adding line 1

修改后的内容以黄色突出显示。

在“ git show”命令中使用标志“ –name-only”。

git show –仅名称<commit-id>

$ git show --name-only c97949d3c04593bdc72478038c4ff76b17de9c8a
commit c97949d3c04593bdc72478038c4ff76b17de9c8a
Author: java-w3schools <venkivenki4b6@gmail.com>
Date:   Sat May 9 23:36:22 2020 +0530

    Spring Boot Data MongoDB: Projections and Aggregations Examples

pom.xml
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/MongoDbSpringBootCurdApplication.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/config/MongoDBConfig.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/controller/projection/AggregationController.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/controller/projection/EmployeeMongoRepoController.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/controller/projection/MongoTemplateProjectionController.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/model/AgeCount.java
src/main/java/com/javaprogramto/springboot/MongoDBSpringBootCURD/repository/EmployeeRepository.java
src/main/resources/application.properties
$

23.结论

总而言之,我们每天都从git bash或Terminal看到软件开发人员中最常用的git命令

如果您知道所有这些命令,那么您可以明智地使用git命令。

如果您对“ Git命令”有任何疑问,请在评论部分发表。 我们将尽快答复。

翻译自: https://www.javacodegeeks.com/2020/05/top-git-commands-with-examples.html

git 实际应用示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值