【Git】git系统学习(一):常用指令

1、配置工具
$ git config --global user.name "[name]"

设置用户名

$ git config --global user.email "[email address]"

设置邮箱

$ git config --global color.ui auto

自动配置命令行的输出颜色

$ git config --global color.ui true

全部打开颜色配置

$ git config --global color.ui false

全部关闭颜色配置

2、创建存储库
$ git init [project-name]

创建本地库,项目名(project-name)可选

$ git clone [url]

克隆远程库(包括整个版本历史)

3、修改后如何提交
$ git status

列出所有准备要提交的新文件或修改文件

$ git diff

显示还没有执行“git add [file]”的文件中的差异,如果已经执行了“git add [file]”,将不会再打印出来,因此“git diff”一般在“git add”之前使用

$ git add [file]

添加需要提交的文件

$ git reset [file]

撤销操作“git add [file]”,回到执行“git add [file]”之前的状态

$ git diff --staged

显示已经执行了“git add [file]”的文件和上一个版本的差异,如果没有执行“git add [file]”,将不会打印出来,因此“git diff --staged”在“git add [file]”之后使用。

$ git commit -m "[descriptive message]"

提交已经执行“git add [file]”的文件,并更新版本。

4、分支操作
$ git branch

列出当前存储库中的所有本地分支

$ git branch [branch-name]

创建一个新分支branch-name

$ git checkout [branch-name]

切换到指定的分支branch-name并更新工作目录

$ git merge [branch]

将指定分支branch的历史记录合并到当前分支

$ git branch -d [branch-name]

删除指定的分支branch-name

5、删除、重命名文件
$ git rm [file]

删除文件,删除后可以通过git checkout [file]恢复,或git commit提交。

$ git rm --cached [file]

从版本控制中删除文件,但本地的没有删除,这点与“git rm [file]”不同

$ git mv [file-original] [file-renamed]

更改文件名并准备提交

6、查看历史更改记录
$ git log

列出当前分支的版本历史

$ git log --follow [file]

列出文件的版本历史,包括该文件重命名之前的版本历史,但是file必须是现在的名字,即重命名之后的名字

$ git diff [first-branch]...[second-branch]

显示两个分支之间的内容差异

$ git show [commit]

显示指定提交版本的更改内容
[commit]是提交时生成的版本号,如下面的1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d

commit 1b2d817aa982a91b3a16b7f02a990a8f72fe4e2d
Author: laoer <>
Date:   Tue Aug 21 09:44:29 2018 +0800

    hello
7、忽略临时文件、目录等

在工程目录(与.git同级目录)中创建“.gitignore”文件。.gitignore文件中写入需要忽略的文件和目录,每行一个,支持正则表达式。编辑完.gitignore需要使用git add和git commit提交。下面是一个常用的.gitignore文件

# Compiled source #
###################
*.com
*.class
*.dll
*.exe
*.o
*.so

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

可以使用下面命令来查看,被忽略掉的文件或目录:

$ git ls-files --other --ignored --exclude-standard
8、临时保存和恢复

如果代码写的一半,需要保存后切换到其它分支上去,但是又不想commit到版本库中,以免污染了提交日志,这时就要用到“git stash”

$ git stash

临时保存更改内容

$ git stash list

列出临时保存的更改内容

$ git stash pop

恢复临时保存的更改内容

$ git stash drop

删除临时保存的更改内容

9、重新提交
$ git reset [commit]

恢复指定版本号commit后将恢复至指定版本,但本地内容不会更改,重新提交后,指定版本号以后的记录将会丢弃。最好不要使用。

$ git reset --hard [commit]

这将会删除所有记录,包括本地的内容。严禁使用

10、多人协同工作
$ git branch -a 

查看所有分支,红色的是远程分支

git fetch 

获取远程分支

git diff HEAD FETCH_HEAD 

查看本地和远程的区别

git merge origin/master 

合并

git push -u origin master 

将本地的master分支推送到origin主机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

郭老二

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

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

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

打赏作者

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

抵扣说明:

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

余额充值