最常用的 Git 命令大全

 

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

1.简介

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

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

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

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

2.方便的Git命令

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

Git命令列表:

  • git配置
  • git初始化
  • git克隆
  • git帮助
  • git状态
  • git添加
  • git分支
  • git提交
  • git推
  • git pull
  • git结帐
  • git存储
  • git合并
  • git重置
  • git远程
  • git diff
  • git rm
  • git日志
  • git show
  • git标签

3. Git Config命令示例

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

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

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

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

git config –全局用户名“ JavaProgramTo.com”

git config –global user.email“ [email protected]

 $ git config --global user.name "JavaProgramTo.com"   $ git config --global user.email "[email protected]"   $ git config --global user.email   [email protected]   $ git config --global user.name   JavaProgramTo.com 

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

git config –list | grep'用户'
[email protected]

user.name = JavaProgramTo.com

4. Git初始化命令示例

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

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

git初始化

$ 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 ..." 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'进入终端。

最常用的 Git 命令大全_第1张图片

7. Git状态命令示例

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

git状态

$ git status
On branch master

No commits yet

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

 CoreJava/
 core-java-tutorials/
 file1.txt

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

最常用的 Git 命令大全_第2张图片

8. Git添加命令示例

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

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

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

$ git添加file1.txt

$ git状态

在分支机构主管

尚无提交

所做更改:

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

新文件:file1.txt

未跟踪的文件:

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

CoreJava /

核心Java教程/

最常用的 Git 命令大全_第3张图片

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

git添加

对于

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 ..." to include in what will be committed)

 CoreJava/
 core-java-tutorials/

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

最常用的 Git 命令大全_第4张图片

10. Git push命令示例

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

git推

git push origin <分支名称> ->将更改应用于特定分支

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

$ git push

11. Git Pull命令示例

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

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

git pull ->从给定的仓库中拉取更改

$ git pull

12. Git分支命令示例

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

git分支

$ git分支
*大师 发展

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

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

git 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 ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

 modified:   file1.txt

Untracked files:
  (use "git add ..." 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 ..." 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 ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

 modified:   file1.txt

Untracked files:
  (use "git add ..." 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 ..." to unstage)

 modified:   file1.txt

Untracked files:
  (use "git add ..." 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(+)

最常用的 Git 命令大全_第5张图片

17. Git日志命令示例

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

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

    adding file2

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

    added line 2

commit 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
Author: 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 
Date:   Sun May 10 22:17:12 2020 +0530

    added line 2

commit 8dbddf5a2a5d2c4d14ceec7a4ea74db994b8dd10
Author: 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 
Date:   Sun May 10 22:24:55 2020 +0530

    adding file2

最常用的 Git 命令大全_第6张图片

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 @@
        

        
                
                        org.springframework.boot
                        spring-boot-devtools

现在,将修改后的文件添加到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 @@
        

        
                
                        org.springframework.boot
                        spring-boot-devtools

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

$ 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 ..." to unstage)

 deleted:    file1.txt

Untracked files:
  (use "git add ..." 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 ..." 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 ..." to unstage)

 deleted:    file1.txt
 new file:   file3.txt

Untracked files:
  (use "git add ..." 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 ..." to unstage)
Untracked files:
  (use "git add ..." to include in what will be committed)

$

21. Git标签命令示例

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

git标签

$ 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 
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 –仅名称

$ git show --name-only c97949d3c04593bdc72478038c4ff76b17de9c8a
commit c97949d3c04593bdc72478038c4ff76b17de9c8a
Author: java-w3schools 
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,java,linux,python,github)