将本地新建的项目提交到远程仓库的步骤
-
初始化本地仓库
git init
-
将本地内容添加至git本地暂存区中
git add .
-
将暂存区添加至本地仓库中
git commit -m "first commit"
-
添加远程仓库路径
git remote add origin https://github.com/gybguohao/test.git
-
将本地内容push至远程仓库中
git push -u origin master
git config
配置git的相关信息
- 配置全局的用户名和邮箱
-
设置用户名:
git config --global user.name "name"
-
设置用户邮箱:
git config --global user.email "eamil"
- 针对单个仓库配置用户名和邮箱
-
设置用户名:
git config user.name "name"
-
设置用户邮箱:
git config user.email "eamil"
-
查看git所有配置信息:
git config --list
-
查看配置的用户名:
git config user.name
-
查看配置的用户邮箱:
git config user.email
git init
git init
命令的作用是在当前目录中初始化仓库,并且创建一个名为.git
的子目录,该目录含有你初始化的Git
仓库中所有的必须文件。
git add
git add
命令的作用是将文件从工作目录添加至暂存区
-
把所有修改的信息添加到暂存区:
git add .
-
把所有跟踪文件中被修改过或已删除的文件信息添加至暂存区:
git add -u
或git add --update
,它不会处理那些没有被跟踪的文件 -
把所有跟踪文件中被修改过或已删除文件和所有未跟踪的文件信息添加到暂存区:
git add -A
或git add --all
git commit
git commit
命令的作用是将暂存区的修改提交到本地仓库,同时会生成一个commmit-id。
-
将暂存区的修改提交到本地仓库:
git commit -m "message"
,"message"是本次提交的简述内容,比如添加新功能或修复bug等 -
git commit –a –m "message"
该命令相当于以下两条命令:
-
git add .
:把所有修改的信息添加到暂存区 -
git add -m "message"
:将暂存区的修改提交到本地仓库
- 修改最后一次提交(可用于漏掉某个文件的提交或重新编辑信息):
git commit --amend
git merge
git merge
命令的作用主要是分支的合并。
如果当前是master分支,需要合并dev分支:git merge dev
git pull
git pull
命令的作用是获取远程主机某个分支的更新,再与本地指定分支合并。git pull <远程主机名><远程分支名>:<本地分支名>
-
取回远程主机上的dev分支与本地的master分支合并:
git pull origin dev:master
-
取回远程主机上的dev分支与当前分支合并:
git pull origin dev
git push
git push
命令的作用是将本地分支的更新推送到远程主机上。
-
将本地
master
分支的更新推送到远程主机上:git push origin master
-
删除远程dev分支:
git push origin --delete dev
git fetch
git fetch
命令的作用是将远程主机上所有分支的更新取回本地,并记录在.git/FETCH_HEAD
中
-
获取远程主机上master分支的代码:
git fetch origin
-
在本地新建test分支,并将远程主机上master分支代码下载到本地test分支:
git fetch origin master:test
git branch
git branch
命令的作用主要是做分支管理操作。都是针对本地仓库操作,不影响远程仓库。
-
查看本地分支:
git branch
-
查看本地和远程分支:
git branch -a
-
新建名字为test的分支:
git branch test
-
将test分支名字改为dev:
git branch -m test dev
-
删除名字为dev的分支:
git branch -d dev
-
强制删除名字为dev的分支:
git branch -D dev
git remote
git remote
命令的作用主要是管理远程仓库。
-
查看关联的远程仓库的名称:
git remote
-
查看关联的远程仓库的详细信息:
git remote -v
-
添加远程仓库的关联:
git remote add origin <远程仓库地址>
-
删除远程仓库的关联:
git remote remove <远程仓库名称>
-
修改远程仓库的关联:
git remote set-url origin <新的远程仓库地址>
-
更新远程仓库的分支:
git remote update origin --prune
git checkout
git checkout
命令最常用的情形是创建和切换分支以及撤销工作区的修改。
-
切换到tag为v1.0.0时对应的代码:
git checkout v1.0.0
-
在tag为v1.0.0的基础上创建分支名为test的分支:
git checkout -b test v1.0.0
该命令相当于以下两条命令:
-
git branch test v1.0.0
:在v1.0.0的基础上创建分支test -
git checkout v1.0.0
:切换到分支test
-
把当前目录所有修改的文件从HEAD中移除并且把它恢复成未修改时的样子:
git checkout .
-
撤销工作目录中文件的修改(文件有改动但还未
git add
):git checkout -- fileName
,或者撤销所有修改使用git checkout .
git reset
git reset
命令的作用是撤销暂存区的修改或本地仓库的提交。
- 撤销已经提交到暂存区的文件(**已经
git add
但还未git commit**
):
-
撤销已经提交到暂存区的文件:
git reset HEAD fileName
或git reset --mixed HEAD fileName
-
撤销所有提交:
git reset HEAD .
或git reset --mixed HEAD .
- 对已经提交到本地仓库做撤销(已经
git commit
但还未git push
):
-
将头指针恢复,已经提交到暂存区以及工作区的内容都不变:
git reset --soft commit-id
或git reset --soft HEAD~1
-
将头指针恢复并且撤销暂存区的提交,但是工作区的内容不变:
git reset --mixed commit-id
或git reset --mixed HEAD~1
-
将所有内容恢复到指定版本:
git reset --hard commit-id
或git reset --hard HEAD~1
注意:commit-id
可通过git log
查看(取前六位即可),HEAD~1
表示前一次提交(可以此类推)。
git status
git status
命令的作用是显示文件状态,红色表示工作目录的文件被修改但还没有提交到暂存区,绿色表示已经提交到暂存区。
- 以极简的方式显示文件状态:
git status -s
-
A:本地新增的文件(服务器上没有)
-
C:文件的一个新拷贝
-
D:本地删除的文件(服务器上还在)
-
M:红色为修改过未被添加进暂存区的,绿色为已经添加进暂存区的
-
R:文件名被修改
-
T:文件的类型被修改
-
U:文件没有被合并(你需要完成合并才能进行提交)
-
X:未知状态(很可能是遇到git的bug了,你可以向git提交bug report)
-
?:未被git进行管理,可以使用
git add fileName
把文件添加进来进行管理
已经被修改但还没提交到暂存区的文件,可以通过命令git checkout -- fileName
撤销更改。
git log
git log
命令的作用是查看历史提交记录
-
查看历史提交记录:
git log
-
将每条历史提交记录展示成一行:
git log --oneline
-
查看某个人的提交记录:
git log --author="name"
-
显示ASCII图形表示的分支合并历史:
git log --graph
-
显示前n条记录:
git log -n
-
显示某个日期之后的记录:
git log --after="2018-10-1"
,包含2018年10月1号的记录 -
显示某个日期之前的记录:
git log --after="2018-10-1
,包含2018年10月1号的记录 -
显示某两个日期之间的记录:
git log --after="2018-10-1" --before="2018-10-7"
git stash
git stash
命令的作用主要如果当前分支所做的修改你还不想提交,但又需要切换到其他分支去查看,就可以使用git stash
保存当前的修改。
-
保存当前进度:
git stash
-
查看已经保存的历史记录:
git stash list
-
重新应用某个已经保存的进度,并且删除进度记录:
git stash pop <历史进度id>
, -
重新应用某个已经保存的进度,但不删除进度记录:
git stash apply <历史进度id>
,如果直接使用git stash
默认是使用最近的保存 -
删除某个历史进度:
git stash drop <历史进度id>
-
删除所有的历史进度:
git stash clear
网友评论