git常用命令汇集

基本Git命令

1. git config --global

git config命令非常有用。尤其是在你第一次使用Git或刚安装新的Git时。此命令可设置身份——Name和Email地址。并且每次提交时会使用此信息。

$ git config --global user.name "Your name"  
$ git config --global user.email "Your email"

2. git version

顾名思义,它会检查你使用的是哪个版本的Git。或者查看git是否已经安装好,在window系统下验证全局变量有没有设置。比如:

[root@localhost ~]# git version
git version 2.24.3

3. git init

初始化仓库。此命令将创建一个空白的新存储库,然后你可以将源代码存储在此存储库中。

$ git init

4. git clone

git clone拷贝一份远程仓库,也就是下载一个项目。下载远程仓库到本地时后面跟仓库地址,
在你需要在现有的存储库上进行复制时,使用git clone。git clone命令首先在内部使用git init命令,然后检出所有内容。

git clone <your project URL>

另外,如果访问一个Git URL需要用法名和密码,可以在Git URL前加上用户名,并在它们之间加上@符合以表示分割,然后执行git clone命令,git会提示你输入密码。

示例

git clone username@git URL

执行后git会提示你输入密码。
另外,我们可以通过-b 来指定要克隆的分支名,比如

$ git clone -b master2 ../server .

5. git add

git add命令会把所有新的代码文件或修改后的文件添加到存储库中。此命令提供了添加文件和文件夹的不同选项。

下面是git add命令的用法。
· git add -A 提交所有变化(git add --all的缩写)
· git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
· git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
将单个文件添加到暂存区

$ git add your_file_name

此选项会将所有修改过的文件和新文件添加到暂存区

6. git commit

git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,
commit-id在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.
常见用法

git commit -m “message”

-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message,

7. git status

使用此Git命令可以方便地查看有多少文件需要得到关注。你可以随时运行此命令。

此命令可以用来在git add和git commit之间查看状态。

git status

8. git branch

大多数时候,你的Git存储库中总会有多个分支。我们可以使用git branch命令有效地管理分支。Git分支有许多不同的选项和开关。
    1.1 git branch

不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记

1.2 git branch -r

查看远程版本库分支列表

1.3 git branch -a

查看所有分支列表,包括本地和远程

1.4 git branch dev

创建名为dev的分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支

1.5 git branch -d dev

删除dev分支,如果在分支中有一些未merge的提交,那么会删除分支失败,此时可以使用 git branch -D dev:强制删除dev分支,

1.6 git branch -vv

可以查看本地分支对应的远程分支

1.7 git branch -m oldName newName

给分支重命名

9.git checkout

检出分支,此Git命令用于在分支之间进行切换。

  1. git checkout [-q] [] [–] …

  2. git checkout []

  3. git checkout [-m] [ [-b | – orphan ] <new_branch>] [start_point]

用法2比用法1的区别在于,用法1包含了路径。为了避免路径和引用(或提交ID)同名而发生冲突,可以在前用两个连续的连字符作为分隔。用法1的是可选项,如果省略,则相当于从暂存区进行检出。
4. git checkout --datch
切换到分支的游离状态,默认以该分支下的最后一次提交ID,比如

git checkout --datch master

那么HEAD就会切换到master的最后一次commit值的状态下!
5. git checkout -B
如果当前仓库中,已经存在一个跟你新建分支同名的分支,那么使用普通的git checkout -b 这个命令,是会报错的,且同名分支无法创建。如果使用-B参数,那么就可以强制创建新的分支,并会覆盖掉原来的分支。
6. git checkout --orphan
当遇到有一大堆的历史提交记录的分支,而你又不care的时候怎么办,使用这个命令就可以新建一个赤裸裸的分支,没有任何的提交历史。然后你再次commit,就成为真正的分支了。
7.git checkout --merge
这个命令适用于在切换分支的时候,将当前分支修改的内容一起打包带走,同步到切换的分支下
8. git checkout -p
这个命令可以用来打补丁。这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作。这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异哦!

9.git log

线上所有提交记录,一般后面会跟 -n, 比如-1 就是指最有一次提交记录,-2,最后2次…

git log -n

如两天前的提交历史:git log --since=2.days
如指定作者为"BeginMan"的所有提交:$ git log --author=BeginMan
如指定关键字为“init”的所有提交:$ git log --grep=init
如指定提交者为"Jack"的所有提交:$ git log --committer=Jack

10. git remote

1.git remote 不带参数,列出已经存在的远程分支

2.git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url,此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址。

3.git remote add url 添加一个远程仓库

4、git remote rm name # 删除远程仓库

5、git remote rename old_name new_name # 修改仓库名

11. git push

(1) git push -u origin master 如果当前分支与多个主机存在追踪关系,则可以使用 -u 参数指定一个默认主机,这样后面就可以不加任何参数使用git push,

不带任何参数的git push,默认只推送当前分支,这叫做simple方式,还有一种matching方式,会推送所有有对应的远程分支的本地分支, Git 2.0之前默认使用matching,现在改为simple方式

如果想更改设置,可以使用git config命令。git config --global push.default matching OR git config --global push.default simple;可以使用git config -l 查看配置

(2) git push --all origin 当遇到这种情况就是不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机,这时需要 -all 选项

(3) git push --force origin git push的时候需要本地先git pull更新到跟服务器版本一致,如果本地版本库比远程服务器上的低,那么一般会提示你git pull更新,如果一定要提交,那么可以使用这个命令。

(4) git push origin --tags //git push 的时候不会推送分支,如果一定要推送标签的话那么可以使用这个命令

12. git fetch

git fetch origin 远程分支:本地分支
当需要下载其他团队成员的更改时,就得使用git fetch。
此命令会下载有关提交、引用等的所有信息,因此你可以在将这些更改应用于本地存储库之前对其进行检查。

git fetch origin master
# 拉取master分支
git fetch origin master:temp
# 拉取远程master 并且建立本地temp分支

13. git pull

git pull命令下载内容(而不是元数据),并立即用最新的内容更新本地存储库。

用法

$ git pull <remote_url>

14. git stash

此git命令会临时存储已修改的文件。你可以使用以下Git命令处理stash工作。

用法

$ git stash

可以使用以下命令查看所有stash

$ git stash list

如果你需要应用stash到分支,那就使用apply

$ git stash apply

15. git show

与git log相比,此命令将显示有关特定提交的详细信息。

用法

$ git show <your_commit_hash>

17. git rm

有时你需要从代码库中删除文件,在这种情况下,可以使用git rm命令。

它可以从索引和工作目录中删除跟踪的文件。

用法

$ git rm <your_file_name>

18. git merge

git merge可帮助将来自两个分支的更改集成到单个分支中。

用法

$ git merge <branch_name>

此命令会将<branch_name>合并到当前你选择的分支中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ashuntel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值