GIT命令大全(日常开发版)

本文只记录命令,系统学习参见

菜鸟教程Git 服务器搭建 | 菜鸟教程

Git官方文档Git - Reference

Git前必会

命令:

Git 有很多种命令模式,在安装GIT时选择, 如果选择和Linux命令风格,下面命令同样适用

cd:改变目录。
cd ..回退到上一个目录,直接cd进入默认目录
pwd : 显示当前所在的目录路径。
ls 和 ll:都是列出当前目录中的所有文件,只不过ll(两个LL)列出的内容更为详细。
touch :新建一个文件如touch index.js就会在当前目录下新建一个index.js文件。
rm :删除一个文件, rm index.js 就会把index.js文件删除。
mkdir :新建一个目录,就是新建一个文件夹,例如:mkdir test , 就会在当前目录下创建test文件夹。
rm -r :删除一个文件夹, rm -r src 删除 src 目录
mv 移动文件, mv index.html src index.html 是我们要移动的文件, src是目标文件夹标文件夹在同一目录下,改名也是这个
reset 重新初始化终端/清屏。
clear 清屏。
history 查看命令历史。
help 帮助。
exit 退出。
#   表示注释

git文件四大状态:

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制.通过git add状态变为staged

Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致.这种类型的文件有两种去处,如果它被修改,而变为Modified .如果使用git rm移出版本库,则成为untracked文件。

Modified:文件已修改,仅仅是修改,并没有进行其他的操作.这个文件也有两个去处,通过git add可进入暂存staged状态,使用git checkout则丢弃修改过,返回到unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改!

Staged:暂存状态.执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为unmodify状态.执行git reset HEAD filename取消暂存,文件状态为Modified

Git 专有命令:

1. git配置:

# Git 配置	
git config -l

# 查看系统级别配置 在../Git/etc/config 文件里面
git config --system --list

# 查看全局配置	用户自己的配置
git config --global --list 

# 编辑配置文件
# 只对当前本地仓库有效
git config -e
# 对所有本地仓库有效
git config -e --global

#	全局信息配置
git config --global	user.name "名称"
git config --global user.email "邮箱"

2. Git操作:

2.1 创建本地仓库命令:

# 本地仓库初始化
git init
# 把指定的文件夹初始化为本地仓库
git init 文件夹名称

# 克隆远程仓库
git clone [url]

2.2 提交与修改:

# 查看当前库中所有文件状态
git status

# 查看当前库中指定文件状态
git status [filename]

# 添加所有文件到暂存区
git add .

# 提交指定文件到暂存区
git add [filename]

# 提交暂存区中的文件到本地仓库	-m 是提交信息,也就是提交备注
git commit -m

# 比较文件的不同 暂存区和工作区的差异
git diff

# 回退版本
git reset [head]
# 举例:
$ git reset HEAD^            # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
$ git  reset  052e           # 回退到指定版本

# 删除工作区文件
# 根据指定文件名删除
git rm <file>
# 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
# 强行从暂存区和工作区中删除修改后的文件:
git rm -f <file>
# 如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是# # 从跟踪清单中删除,使用 --cached 选项即可:
git rm --cached <file>
# 递归删除 一般用于删除目录
git rm -r <file>

# 移动文件或者重命名文件 参考linux命令同类操作指令
git mv [file] [newfile]
# 如果新但文件名已经存在,但还是要重命名它,可以使用 -f 参数
git mv -f [file] [newfile]

2.3 提交信息与日志:

# 显示历史修改信息
git log 
# 简化在一行显示
git log --oneline
# 显示分支合并等信息
git log --graph
# 倒序查看历史修改信息
git log --reverse
# 查看指定用户的提交信息
git log --author="author"
#  如果你要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。
# 例如,如果我要看 Git 项目中三周前且在九月二十六之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交): 
git log --oneline --before={3.week.ago} --after={2021-09-26} --no-merges
# 查看指定文件的修改记录
git blame <file>

2.4 远程操作:

# 显示所有远程仓库
git remote -v

# 添加远程版本库
# 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
git remote add [shortname] [url]
# 例如:这个链接是菜鸟教程专用的测试库
# origin 为远程地址的别名
git remote add origin https://github.com/tianqixin/runoob-git-test

# 或者不添加,直接克隆也行
git clone https://github.com/tianqixin/runoob-git-test

# 显示某个远程仓库的信息
git remote show [origin]
# 例如:
git remote show https://github.com/tianqixin/runoob-git-test

# 相关命令
# 删除远程仓库
git remote rm name
# 例如:
git remote rm origin
# 修改远程仓库名字
git remote rename old_name new_name


# 更新远程仓库的代码到本地
git pull
git pull origin

# 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest
# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master


# git push 命用于从将本地的分支版本上传到远程并合并。
git push <远程主机名> <本地分支名>:<远程分支名>
# 如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
# 例如:将本地的master分支推送到远程的master分支
git push origin master
#相等于:
git push origin master:master

# 强制推送,一般在本地版本和远程版本有差异时使用,工作中慎用
git push --force origin master

# 删除远程分支
git push origin --delete master 

2.5 分支管理

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

有人把 Git 的分支模型称为必杀技特性,而正是因为它,将 Git 从版本控制系统家族里区分出来。

# 创建分支
git branch [branchname]

# 列出所有本地分支
git branch

# 切换分支
git checkout [branchname]
# 创建新分支并立即切换到该分支下,从而在该分支中操作。
git checkout -b [branchname] 

# 当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。


#删除分支
git branch -d [branchname]

# 合并分支
# 一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用以下命令将任何分支合并到当前分支中去:
git merge
# 例如:将testbranch1 合并到当前分支(主分支)
git merge testbranch1

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值