GIT

https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B
git学习最全网址

git常用命令one:

  1. git init(创建仓库)

  2. git status(查看仓库的状态)

  3. git diff 文件名 (这次相较上次修改了哪些内容)未在暂存区的改动,暂存区中的看不出来
  4. ls   查看文件目录 
  5. cd zhuzhu   进入zhuzhu文件
  6. pwd   显示当前文件路径
  7. git add 文件名 (将添加的文件放到暂存区中)         git reset HEAD <文件名>可以撤销add
  8. git commit (将栈存区内容提交到代码区中)
  9. git clone git地址(将远程仓库的代码克隆到本地)
  10. git branch 查看当前分支
  11. git branch -vv(两个v),就能够看到本地分支跟踪的远程分支。
  12. git checkout 切换分支
  13. git rm 删除
  14. git merge  将指定分支合并到当前分支
  15. 删除本地和远程分支       git branch -a  查看所有分支情况,
                                           git branch -d <branchname>   删掉本地分支,                                                                     
                                           git push origin --delete <branchname>  删除远程分支
  16. git config --global credential.helper store     操作pull、push 时候免密码

git常用命令two:

  1. git checkout -b 'zz'  在当前分支下创建zz分支,并指向zz分支(相当于git branch+git checkout)
  2. git branch -d 'bb'      删除bb分支
  3. git stash     将现在分支底下的代码压在堆栈中,用git stash apply释放出来(会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。比如下面的中间状态,通过git stash命令推送一个新的储藏,当前的工作目录就)
  4. git stash list   查看压在堆栈中的都有哪些
  5. git stash apply stash@{#}   可以将你指定版本号为stash@{#}的工作内容取出来,继续编缉之前没有提交的文件。当前的index.html显示红色 代表没有添加到暂存区内,也可以理解为是没有提交的文件。同时也可以使用 git stash pop来恢复所有没有放到git栈中的未提交的文件。
  6. git stash drop -q stash@{2}   删除指定编号为2的stash内容
  7. git stash clear  将栈清空
  8. git log  查看已经提交的
  9. git log -p -2  查看近两次提交的
  10. git remote -v  查看远程仓库以及对应的url
  11. git remote add <shortname> <url> 添加一个新的git远程仓库
  12. git tag  打标签   git show 可查看打标签具体
  13. git log --oneline --decorate   查看各个分支指向的对象
  14. git branch -v   查看所有分支的最后一次提交
  15. git push origin zhuzhu:zhuzhu   创建一个远程zhuzhu分支( 先在本地创一个zhuzhu分支)
  16. git push origin --delete zhuzhu   删除远程zhuzhu分支

 

git常见工作区:

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

 

 

fetch和pull的区别:

1.git pull = git fetch + git merge

git pull会将本地库更新至远程库的最新状态 由于本地库进行了更新,HEAD也会相应的指向最新的commit id

2.git fetch的时候只是将remote的origin进行update  但是并没有在local的branch进行merge

rebase和merge的区别:

1、区别是 rebase 一个两个分支 就各位了一个分支,test合并前所有的 patch也就是commit 消失了而merge 则还是两个分支,只不过在merge后这个点交汇

2、rebase 和 merge的另一个区别是rebase 的冲突是一个一个解决,如果有十个冲突,先解决第一个,然后用命令

git add -u 
git rebase --continue 
  •  

继续后才会出现第二个冲突,直到所有冲突解决完,而merge 是所有的冲突都会显示出来。 
另外如果rebase过程中,你想中途退出,恢复rebase前的代码则可以用命令 
git rebase --abort

所以rebase的工作流就是

git rebase 
while(存在冲突) {
    git status
    找到当前冲突文件,编辑解决冲突
    git add -u
    git rebase --continue
    if( git rebase --abort )
        break; 
}

最后冲突全部解决,rebase成功!!

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值