github git 命令_安装中心以使您的Git命令行与GitHub完全一样

github git 命令

通过为GitHub上的项目做出贡献,许多人开始参与开源软件开发。 他们中的许多人使用GitHub的图形用户界面(GUI),特别是那些命令行界面(CLI)的新用户。 但是,如果您更喜欢在命令行上工作怎么办?

hub ,这是一个命令行工具,通过添加GitHub特定的功能来扩展Git,以使其更易于熟悉Git命令。 因此,如果您厌倦了点击式GUI,但是想要获得有关Git有时令人困惑的语法的帮助,那么Hub是适合您的工具。

在进一步阅读之前,最好先回顾一下Git术语 。

安装集线器

集线器的使用取决于Git,因此首先,确认我们已安装它:

 git --version 

您的Git版本必须为1.7.3或更高。 不用担心它是否丢失; 您可以使用Homebrew ,开源软件包管理器或发行版的内置软件包管理器(dnf,apt等)快速安装它。 我喜欢Homebrew,所以我们会坚持下去。 Homebrew在Linux上以前被称为Linuxbrew,但现在使用的名称与macOS版本相同。 它可以安装在您的主目录中,这意味着您不需要sudo权限即可安装应用程序。 如果您喜欢其他安装方法,请参阅Git文档 。

要在Fedora上安装Homebrew的命令行实用工具brew ,请执行以下操作:

 $  / bin / bash -c " $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh) " 

由于我们没有使用sudo ,因此安装脚本会将Homebrew安装到〜/ .linuxbrew 。 要了解有关其工作原理的更多信息,请参阅文档 。

接下来,让我们使用brew安装hub

 $  brew install hub 

接下来,通过检查其版本来验证集线器是否正确安装:


   
     
     
     
     
$ hub --version
git version 2.25.0
hub version 2.14.1

输出显示集线器和Git的版本。 瞧! 您已成功安装集线器。

集线器入门

使用将在GitHub上托管的新存储库来旋转Hub。 导航到要初始化Git的任何文件夹:


   
     
     
     
     
$ cd Documents
$ mkdir Test; cd Test /
$ git init
Initialized empty Git repository in / Users / SudeshnaSur / Test / .git /

将任何文件放在其中。 Git只看到已更改的文件,因此可以使用echo向其添加一些文本:

 $  echo "Hello" > test.txt 

检查git状态并添加:


   
     
     
     
     
$ git status
On branch master

No commits yet

Untracked files:
        test.txt

nothing added to commit but untracked files present
$ git add .

通过使用git add ,我们已暂存更改,但尚未提交更改。 在此之前,我们需要一个帐户。 如果您还没有一个,请使用此分步指南创建一个GitHub帐户。 接下来,我们需要配置本地版本的Git以使用该帐户的用户名和电子邮件。 该信息将出现在您添加到任何存储库的每条提交消息中(因为您将其设置为全局):


   
     
     
     
     
git config --global user.email "[email protected]"
git config --global user.name "Your Name"

值得注意的是,您可以使用此功能将电子邮件设为不公开。 无论哪种方式,都将您的电子邮件设置为GitHub电子邮件地址。

现在,我们可以创建将分配给我们用户名的提交。 让我们检查一下现有的更改:


   
     
     
     
     
$ git commit -m 'Adding a test file'
[ master ( root-commit ) 07035c94e038 ] Adding a test file
  1 file changed, 1 insertion ( + )
 create mode 100644 test.txt
$ git status
On branch master
nothing to commit, working tree clean

使用集线器的精美功能

到目前为止,一切都与使用git相同。 这是有趣的地方。

现在,如果您输入hub create ,它将在GitHub上创建一个与当前目录同名的新存储库:


   
     
     
     
     
$ hub create
Updating origin
https: // github.com / SudeshnaSur / Test

使用中心甚至将您的存储库与远程镜像链接:


   
     
     
     
     
$ git remote -v
origin  git @ github.com:SudeshnaSur / Test.git ( fetch )
origin  git @ github.com:SudeshnaSur / Test.git ( push )

使用集线器克隆和分叉

您还可以使用集线器进行克隆和派生,而无需点击进入GitHub GUI。 我很高兴地看到集线器可以自动识别我们要定位的存储库,只要它具有名称空间,斜杠和存储库名称即可。 因此,如果我们要克隆集线器本身的源代码(可从https://github.com/github/hub获得) ,则只需编写:


   
     
     
     
     
$ hub clone github / hub
Cloning into 'hub' ...
remote: Enumerating objects: 26 , done.
remote: Counting objects: 100 % ( 26 / 26 ) , done.
remote: Compressing objects: 100 % ( 22 / 22 ) , done.
remote: Total 19712 ( delta 7 ) , reused 13 ( delta 4 ) , pack-reused 19686
Receiving objects: 100 % ( 19712 / 19712 ) , 6.76 MiB | 7.25 MiB / s, done.
Resolving deltas: 100 % ( 12912 / 12912 ) , done.

现在,我可以对存储库的副本进行常规更改。 我将创建一个名为topic的分支,签出该分支,然后进行较小的更改并提交(这些都是标准的Git命令):


   
     
     
     
     
$ cd hub
$ git checkout -b topic
Switched to a new branch 'topic'
$ echo “Hey” > test2.txt
$ git add .
$ git commit -m ‘Adding test 2
[ master cbb6fde5805a ] Adding test 2
  1 file changed, 1 insertion ( + )
 create mode 100644 test2.txt

这个克隆当前是github / hub ,我没有写权限。 但是我可以轻松地分叉存储库并将更改推送到存储库:

 $  hub fork –remote-name origin 

输出报告您的帐户正在分叉原始存储库及其所有分支。 请注意,如果您已经有一个名为“ origin”的远程站点,则集线器将默认为新的远程站点提供与您的用户名相同的名称(如果此术语令人困惑, 请在远程站点和fork上阅读此复习资料 )。 接下来,让我们将分支topic推到我的叉子上:

 $  git push origin topic 

现在,我可以直接在命令行中输入以下内容来打开拉取请求(PR):

 $  hub pull-request 

这将打开一个文本编辑器,以便我可以添加PR消息,然后可以从那里管理PR。 我什至可以使用hub pr list命令从命令行管理其他 PR。

使用其他集线器功能

故事还不止于此。 集线器还提供许多其他功能:

  • 检查我们分支机构的持续集成(CI)状态:
     $  hub ci-status 
    
  • 在默认的Web浏览器中打开一个项目:
     $  hub browse github / quickstart 
    
  • 同步所有本地分支以匹配远程服务器的最新状态:
     $  hub sync 
    
  • 列出分配给您的姓名的问题:
     $  hub issue --assignee User_Name 
    
  • 列出您所在的存储库中的未解决问题:
    
         
           
           
           
           
    $ hub issue --limit 20
    [ lists only 20 issues ]
  • 打开当前项目的问题页面:
     $  hub browse --issues 
    
  • 在查看PR时签出PR:
     $  hub pr checkout 123 
    
  • 合并后关闭问题:
     $  hub issue update 123 --state closed 
    
  • 将问题转移到新的存储库:
     $  hub issue transfer 123 ANOTHER-REPO 
    
  • 删除GitHub中的存储库:
     $  hub-delete github / wiki-links 
    

在命令行中,Hub既有用又易于使用。 如果您正在从GUI过渡到命令行,并且希望使体验更加直观,请尝试使用hub 。

翻译自: https://opensource.com/article/20/3/github-hub

github git 命令

你可能感兴趣的:(git,github,java,linux,python)