Git常用命令

2019-02-14  本文已影响0人  睦月初雨

1:git init

初始化一个仓库

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

2:git add <filename>

将制定的文件添加进暂存区

git add -A   //提交所有变化

git add -u  //提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add .   //提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

3:git commit -m <message>

将暂存区中的任务添加进版本库

4:git status

查看工作区的状态

5:git log

查看历史commit的内容及commit id

6:git reset --hard <版本号 or HEAD~>

将当前版本回退到某个commit的版本,可以指定版本号或者使用HEAD

如果已经回退版本了,又想再回到之前那个新的版本,可以使用git reflog命令,查看所有命令,就知道那个id了!

7:git checkout -- <filename>

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

总之,就是让这个文件回到最近一次git commit或git add时的状态。

8:git reset HEAD <filename>

撤销到已经添加到暂存区中的指令

比如我修改了一个文件,现在使用git add。现在我不想把它添加到暂存区,即我想撤销add操作。那么就使用这个命令。同时文件里的内容是不会被撤销的。

9:git rm

执行删除文件命令。(这只是一个命令,用于将操作放到暂存区,相当于add。而在这个命令之前,我们已经把文件用ui或者rm命令删除了!)执行完删除命令后再执行commit,即可完全删除。

若我们用ui或者rm不小心删除了某个文件,而该文件在暂存区中仍存在,那么我们也可以用 git checkout -- filename 该命令还原!

10:git remote add origin git@github.com:sumray/xx.git

在本地仓库下运行该命令,就可以把本地仓库和远程仓库关联到一起。(前提是你的电脑上有SSH公钥)

11:git push origin master <-u>

将本地仓库的内容推送到远程仓库中。origin是远程仓库名。master是远程仓库的分支名

若是第一次推送,加上-u参数,则把master分支和远程仓库的master分支关联到一起。

12:git clone git@github.com:sumray/yy.git

将远程仓库克隆到本地仓库

13:git checkout <branch name> <-b>

切换到指定的分支上。

若加上 -b参数,则是创建并切换到该分支。
<meta charset="utf-8">

clipboard.png

14:git branch <branch name> <-d> <-D>

创建分支。

若不加<branch name>,则是查看当前所有分支。

加上-d参数,则是删除指定分支

若分支未合并,还要强制删除,则用-D参数

15:git merge <branch name>

合并某分支内容到该分支上。

\color{red}{遇到冲突,无法合并如何解决?}

假设在dev上做了修改并commit,在master上也做了修改并commit。然后在master上进行merge,提示:

p2.png

意思就是该文件有冲突。这时候需要我们进入文件中手动修改。

会有>>>>HEAD,<<<<<<<branch name>提示,只需要修改这一块就好了。然后add,commit,冲突解决。

16:git stash

将工作区进行保存,变为一个干净的工作区,继续工作。

  1. 查看当前的stash列表:
    git stash list
  1. 通过list id,回退到stash隐藏的工作区中。此时stash list中该id的stash记录还存在
    git stash apply <stash list id>
  1. 通过list id,删除该隐藏区的记录。若还没回到该工作区,执行删除操作后,会连工作区一起删除!
    git stash drop <stash list id>

  2. 回退到原来的工作区中,并将对应的list记录也删除。
    git stash pop

17:git tag <tag name> | <commit id> <-d>

  1. 查看当前所有标签
    加上<tag name> 则是创建一个新的标签,默认该标签是打在最新的一次commit上。也可以指定commit的id创建标签。
    若加上-d参数,则是删除该标签
    git tag

2.指定标签名,和信息。

git tag -a <tagname> -m "blablabla..."

18:git show <tag name>

查询该标签的具体信息

19:git push origin <tag name>

向远程库中添加该tag

20:git config --global alias.st status

配置别名

- 删除别名:

p3.png

21:git pull <远程主机名> <分支名> : <本地分支名>

获取远程库中最新的代码,并merge。(此操作目的是获取其他人操作的代码。如果你自己提交到git上,然后在本地修改了代码并commit到本地,那么此时pull不到代码。因为git记录的是本地库提交到远程库时的版本)

若当前分支已追踪远程库的分支,并且只有这一个追踪,那么可以直接:
git pull

上一篇 下一篇

猜你喜欢

热点阅读