Git 入门—提交代码
本文介绍在已有 git 仓库的基础上,提交到本地仓库机远程仓库的常用 git 命令。
Git 是什么?
- Git 是一个分布式版本控制系统,一个存、取资源的仓库。
- github 官网
工作区、缓存区、本地仓库、远程仓库的概念
- 工作区(workspace):用户工作区,直接修改的代码就是工作区代码。
- 缓存区(index/stage):用户缓存区,工作区代码add以后,进入缓存区。
- 本地仓库(local repository):本地版本的仓库,缓存区代码commit以后,进入本地仓库。
- 远程仓库(remote repository):在服务器上的代码仓库,本地仓库代码push以后,进入远程仓库。
Git 常用命令
在已有一个 github 仓库的情况下,使用以下命令( git 命令必须在Git仓库目录下执行)。
- 提交到
本地仓库
需要用到的 git 命令。
git clone URL # git 远程仓库有一个clone的 URL,远程仓库克隆到本地
git status # 查看当前仓库的状态
git diff [filename] # 查看当前仓库下的改动
git add filename # 将工作区的文件添加到缓存区
git commit -m "xxx" # 将文件提交到本地仓库,`-m`提交说明
git log # 查看提交记录
git log --pretty=online # 一行显示一条,减少输出信息
git log --graph # 查看分支合并图
改完代码之后。
先 git status
看看改了些啥文件。
再 git diff
看看改动是不是自己要的改动,博主某次没有看改动,直接提交了,就是那么巧,改动不对。。。
确认改动之后再 git add
把改动文件添加到暂缓区。
then git commit -m + 提交说明
把暂存区的文件提交到本地仓库。
提交到本地仓库之后,你可以选择提交到远程仓库
,如果你是多人开发的一个代码仓库,你没有提交到远程仓库,别人就看不到你的改动,毕竟还只是提交到了本地仓库
。
- 提交到
远程仓库
需要用到的 git 命令。
# fetch到当前工作分区会报错
# 更新 FETCH_HEAD 将远程的更新取回本地,指明本地分支名才会拉取代码
git fetch <remote> <remote_branch>:<local_branch>
# 在本地查看刚取回的更新信息
git log -p FETCH_HEAD
# 将一个或多个分支 merge 到当前分支
git merge <branch1> <branch2>...
# 从远程拉取分支代码并与本地指定分支合并
# 相当于 `git fetch` + `git merge`
git pull <remote> <remote_branch>:<local_branch>
# 将本地的更新推送到远程,推送前先拉取远程代码
git push <remote> <branch> # 推送 branch 分支,远程不存在则创建
git push <remote> <local_branch>:<remote_branch> # 推送本地分支到远程分支,跨分支推送
参考:十分钟捋完 GIT 命令
参考:Git教程-廖雪峰的官方网站