git branch
- 查看远程分支
git branch -va
- 创建新的分支
git checkout -b newBranch
等效于get branch newBranch
然后git checkout newBranch
- 切换到分支
git checkout newBranch
- 创建一个分支
git branch [branchname]
- 删除分支
git branch -d [branchname]
- 推送到云端:
git push -u origin [branchname]
- 查看远程分支
git commit
- 提交暂存区到本地仓库中:
git commit -m [message]
- 提交暂存区的指定文件到仓库区:
git commit [file1] [file2] ... -m [message]
- 提交暂存区到本地仓库中:
git submodule
-
git submodule add <submodule_url>
此时项目仓库中会多出两个文件:.gitmodules
和project-sub-1
。如果此前项目中已经存在.gitmodules
文件,则会在文件内容中多出三行记录。 -
[submodule “project-sub-1”]
path = project-sub-1
url = https://github.com/username/pro -
克隆主项目的时候带上参数
--recurse-submodules
,这样会递归地将项目中所有子模块的代码拉取。 -
git submodule init
git submodule update- 会根据主项目的配置信息,拉取更新子模块中的代码
-
- Git 撤销修改
git reset HEAD .
撤销所有add文件git reset HEAD -filename
撤销单个add文件git reset --soft head
只回退commit的信息,保留修改代码git reset --hard head^
彻底回退到上次commit版本,不保留修改代码HEAD
:当前版本HEAD^
:上一个版本
git checkout .
撤销所有本地改动代码git reset --hard 远程分支名
本地代码回退到与git远程仓库保持一致git push
撤销- git log查看commit的信息
- git revert 以前commit的id
- git push 此时本地回滚的代码到服务器就可以了
git stash
- 将当前未提交到本地的代码推入Git的栈中,会还原到上次提交的状态。
- 推荐使用
git stash save "message"
来保存修改,这样可以对每一次stash进行标记。 git stash list
查看现有stashstash@{0}: On autoswitch: message
git stash pop
将缓存堆栈中的第一个stash删除,并将对应修改应用到当前的工作目录下git stash apply
将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝,默认使用最近的stash(即stash@{0}
),可以通过名字指定使用哪个stashgit stash drop
后面可以跟着stash名字。git stash clear
命令,删除所有缓存的stash。git stash show
后面可以跟着stash名字,后面添加-p
或–patch
可以查看特定stash的全部diff。git stash branch
会创建一个新的分支,检出你储藏工作时的所处的提交,重新应用你的工作,如果成功,将会丢弃储藏- 默认情况下,
git stash
会缓存下列文件:- 添加到暂存区的修改(staged changes)
- Git跟踪的但并未添加到暂存区的修改(unstaged changes)
- 但不会缓存一下文件:
- 在工作目录中新的文件(untracked files)
- 被忽略的文件(ignored files)