git 命令

git clone

git clone [-b <分支名>]  <仓库Url>  [<存储路径>]

 

git pull

从远程获取最新版本并merge到本地

git pull = git fetch + git merge

git pull   <远程主机>   <分支名>  :  <本地分支>

 

git fetch

从远程获取最新版本到本地,不会自动merge

git fetch <远程主机名> <分支名>

 

git merge

git merge FETCH_HEAD

将目标分支最新的commit记录合并到当前分支

 

git checkout -b <分支名>

创建新分支 <分支名>,并切换到新分支

git checkout -b newBranch origin/master

origin/master的基础上,创建一个新分支: newBranch

git push --set-upstream origin <分支名>

将新建分支上传到 Git服务器

 

切换分支

git checkout <分支名>

删除本地分支

git branch -d <分支名>

删除远程分支

git push origin --delete <分支名>

 

git fetch origin xx
git checkout yy
git merge FETCH_HEAD

将远程origin仓库的xx分支合并到本地的yy分支

 

git status

查看代码修改

 

git branch -r

查看远程分支

git branch -a

查看所有分支

 

 

git config --global core.editor notepad

修改 git 编辑器 为 记事本

git config --global user.name "name"

git config --global user.email "mail@mail.com"

配置用户名和邮箱

git config -l

查看配置

 

 

git checkout -- <file>

撤销文件修改

 

git diff

git diff  <file>

查看文件变化

 

 

git add

git commit

git push

 

如果一个文件在服务器上已经做了修改,然后在本地开发中又做了一些修改的时候,再发布这个文件时很容易造成代码冲突,错误如下

error: Your local changes to the following files would be overwritten by merge:
       ...
Please, commit your changes or stash them before you can merge.

 

如果希望保留远程服务器上所做的改动,仅仅合并新修改

git stash                //将新提交的且冲突的修改,储藏起来
git pull                   //再次拉取代码
git stash pop         //重新应用储藏起来的代码

 

如果希望用代码库中的文件完全覆盖本地工作版本

git reset --hard     //重置

git pull

 

git stash

git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

git stash list  :查看stash了哪些存储

git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}

git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

git stash clear删除所有缓存的stash

 

git stash -p

交互式命令, 一个文件一个文件的遍历,决定每个文件的操作方式

遇到需要stash的文件, 输入y,

不需要stash需要commit的文件, 输入n

如果接下来没有需要stash的文件, 则输入q

 

git revert 提交编号

撤销某次提交

 

posted @ 2019-11-05 12:46  伽利略  阅读(148)  评论(0编辑  收藏  举报