git相关命令
拉取代码和分支控制
- 创建本地仓库到当前目录:
git init
- 克隆远端仓库:
git clone
远端仓库地址 - 将远端仓库的分支拉取到本地(这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来):
git checkout -b 本地分支命名 origin/远端分支名
- 与远端建立连接:
git remote add origin git@github.com:XXXX/nothing2.git
- 拉取远端分支到本地:
git fetch origin dev
(dev为远程仓库的分支名) - 切换分支:
git checkout 分支名
- 创建或者切换分支:
git checkout -b 分支名
- 删除分支:
git checkout -d分支名
版本管理
- 版本回退:
git reset
(例如:git reset --hard HEAD^
,表示回退到当前分支的上一个版本,git reset --hard 1094a
,回退到此版本号的版本) - 显示从最近到最远的提交日志:
git log
- 查看你的每一次命令:
git reflog
- 创建标签:
git tag
标签名 ,例如git tag v1.0,使用git tag查看所有标签,若要对某一次提交打上id,通过git log找到提交的id,然后通过命令git tag 标签名
提交id,例如:git tag v0.9 f52c633
- 查看历史提交的commit id:
git log
- 查看具有某个标签的版本信息:
git show 标签名
,如git show v-0.9
- 查看分支合并图:
git log --graph
代码修改、提交和推送等
- 将文件修改添加到暂存区:
git add
,比如git add readme.txt
,将已存在的文件的修改添加,或者把不存在的文件添加到暂存区中,常用git add .
把所有修改的文件添加到暂存区。 - 将暂存区的所有内容提交到当前本地的分支:
git commit
,例如:git commit -m "git readme file changes"
- 查看暂存区状态:
git status
- 丢弃掉当前文件工作区的修改:
git checkout -- filename
,例如:git checkout -- readme.txt
,其意义是让这个文件回到最近一次git commit或git add时的状态 - 把暂存区的修改撤销掉(unstage):
git reset HEAD <file>
,git reset
命令既可以回退版本,也可以把暂存区的修改回退到工作区 - 删除文件:
git rm filename
,然后git commit - 保存当前工作进度:
git stash
,执行这个命令,会把暂存区和工作区的改动保存起来,使用git stash save 'message…'可以添加一些注释 - 显示保存进度的列表:
git stash list
- 恢复最新保存的进度到工作区:
git stash pop
git stash pop
恢复最新的进度到工作区。git默认会把工作区和暂存区的改动都恢复到工作区。git stash pop --index
恢复最新的进度到工作区和暂存区。(尝试将原来暂存区的改动还恢复到暂存区)git stash pop stash@{id}
恢复指定的进度到工作区。stash_id是通过git stash list命令得到的
-git stash clear
:删除所有存储的进度
其他
- 查看远程库信息:
git remote
,查看远程库详细信息:git remote -v
(待更新)