git小记

2019-04-08  本文已影响0人  清晨起床敲代码

前言:最初用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)
上一篇 下一篇

猜你喜欢

热点阅读