Git基础命令(一)

1、Git 命令列表

判断git是否安装成功:输入git(所有git命令以git开头);

2、Git 具体命令

第一步:新建一个文件夹

mkdir demo

cd demo

touch demo.md

注意:在任何git操作之前,都需要切换到Git仓库目录,也就是切换到项目的文件夹目录下。

(0)一般想要提交到git上,首先需要配置自己的用户名和邮箱,这样才比较容易知道代码提交到哪里了。

设置自己的用户名和邮箱git config --global user.name ""

            git config --global user.email ""

这是全局配置,如果是想把文件提交到特定的邮箱,将global移除就可以了。

(1)输入git status:查看git仓库状态

MeWifi:demo cjy$ git status
fatal: Not a git repository (or any of the parent directories): .git

意思是当前目录还不是一个Git仓库。

这时候就用到第一个git命令:

(2)git init 代表初始化git仓库

MeWifi:demo cjy$ git init
Initialized empty Git repository in /工作/workspace/demo/.git/

可以看到初始化成了,至此demo就是一个git仓库了。

(3)这时候,输入git status查看状态

MeWifi:demo cjy$ git status
On branch master

Initial commit

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

	demo.md

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

默认是在master分支,这里主要提示demo.md这个文件还没有提交到git仓库,而且提示你可以用“git add"命令去提交文件。

(4)git add 提交文件

MeWifi:demo cjy$ git add demo.md
MeWifi:demo cjy$ git status
On branch master

Initial commit

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)

	new file:   demo.md

这时提示Changes to be committed,意思是demo.md文件等待被提交,你可以用git rm --cached去移除这个缓存。

(5)git commit -m "commit message" 真正提交文件

MeWifi:demo cjy$ git commit -m "提交demo.md文件"
[master (root-commit) 96bbcd5] 提交demo.md文件
 Committer: cjy <cjy@MeWifi.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

    git config --global user.name "Your Name"
    git config --global user.email you@example.com

After doing this, you may fix the identity used for this commit with:

    git commit --amend --reset-author

 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 demo.md

-m代表提交的信息,执行以上命令就代表我们进行了真正的提交。

第一次使用git命令提交,由于我们没有设置自己的用户名和邮箱,所以默认使用的是本地的。

(6)查看日志:git log

MeWifi:demo cjy$ git log
commit 96bbcd51ef1f2010db11de53ba106e680e37c69a (HEAD -> master)
Author: cjy <cjy@MeWifi.local>
Date:   Wed Jul 12 09:24:53 2017 +0800

    提交demo.md文件 

(7)查看分支情况:git branch

分支在团队协作的时候很重要。假设A做模块a,B做模块b,这是创建各自的分支a,b,那么两个人的工作就独立开了,互不干扰,最后做完后再统一把分支合并起来。

MeWifi:demo cjy$ git branch
* master

当前只有一个默认的分支master。如果想要创建新的分支,该怎么做呢?很简单,执行git branch a就新建了一个名为a的分支。它的内容跟master一模一样。

再次输入git branch查看分支

MeWifi:demo cjy$ git branch a
MeWifi:demo cjy$ git branch 
  a
* master

这时候就可以看见多了个a。细心的同学肯定发现了,master前面有个*号。这是什么意思呢?它代表当前所在的分支是master。

(8)切换到分支:git checkout a

MeWifi:demo cjy$ git checkout a
Switched to branch 'a'
MeWifi:demo cjy$ git branch
* a
  master

这是a为当前的分支,说明我们已经切换到a分支了。

那有人就说了,要新建再切换多麻烦,有没有更简便的方法呢。聪明:

(9)git checkout -b b:创建分支并切换到当前创建的分支上

MeWifi:demo cjy$ git checkout -b b
Switched to a new branch 'b'

Switched to a new branch 'b',这句话的意思是切换到新创建的分支b。

(10)合并分支:git merge

这个命名需要做2步:第一步,切换到master分支,如果已经是了,可以忽略;第二步将分支a的代码合并到主分支,不出意外的话,分支代码很顺利的并到master分支。

(11)删除分支:git branch -d a

如果a分支的代码没有合并到master中,这时去删除a,会提示有代码未合并,删除失败。那么有没有可以直接强制删除它的方法呢?答案是有的。

MeWifi:demo cjy$ git branch -d a
Deleted branch a (was 96bbcd5).

(12)强制删除分支:git branch  -D a

//切换到主分支master
MeWifi:demo cjy$ git checkout master
Switched to branch 'master'
//再删除分支
MeWifi:demo cjy$ git branch -D b
Deleted branch b (was 96bbcd5).
MeWifi:demo cjy$ 

(13)一般代码都会有版本的标识,git也不例外。创建标签的命令为:git tag v1.0

MeWifi:demo cjy$ git tag v1.0
MeWifi:demo cjy$ git tag
v1.0
原文地址:https://www.cnblogs.com/hacjy/p/7153981.html