前言:最初用git时总结copy的。
clone代码:
git clone zzz@192.168.111.111:/xxx/xxx/xxx.git
换行符
git config --global core.autocrlf true
中文乱码
git config --global core.quotepath false
常规操作:
添加到本地库
git add <file_path>
git commit -m "#####"
拉来其他人的更新
git fetch origin master
查看不同
git diff origin/ master
融合
git merge origin/ master
推远程
git push origin master
保存/解除保存/保存列表 /删除
git stash
git stash pop
git stash list
git stash drop stash@{0}
状态
git status
如果有未提交的文档 git stash(保存本地)
切换分支并拉取代码
git checkout baseinfo
git pull origin baseinfo
回退版本:(已提交)
git log
git reset --hard HEAD^
# 或
git reset --hard 1094a(部分commit_id)
git reflog
撤销
$ git checkout -- <filename>
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
1,一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
2,一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
(已经add的撤回)
用命令git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区
创建本地下级分支并切换:
git checkout -b dev
#or
git branch dev 创建
git checkout dev 切换
查看分支
git branch
* dev 带*为当先所在分支
master
合并分支到master
git merge dev
#or
git merge --no-ff -m "merge with no-ff" dev 禁用Fast forward
删除分支
git branch -d dev
丢弃一个没有被合并过的分支,可以通过 git branch -D <name> 强行删除
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。
要查看远程库的信息,用git remote:
git remote origin
或者,用git remote -v显示更详细的信息(权限):
git remote -v
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
网友评论