美文网首页
git 学习笔记(二)

git 学习笔记(二)

作者: Dev | 来源:发表于2016-12-15 15:32 被阅读26次
    1. 关联远程库,使用命令(server-name 换成你账户的昵称,repo-name换成仓库的名字)
      $ git remote add origin git@server-name:path/repo-name.git

    2. 第一次推送master分支的所有内容
      $ git push -u origin master

    3. 本地提交后,只要有必要,就可以使用命令推送最新修改
      $ git push origin master

    4. 从远程库克隆到本地

    $ git clone https://github.com/littlematt/gitskills.git```
    
    5. 创建dev分支,然后切换到dev分支
    ```$ git checkout -b dev```
       相当于以下两条命令:
    ```$ git branch dev
    $ git checkout dev```
    
    6. 用git branch命令查所有分支,当前分支前面会标一个*号
    ```$ git branch```
    
    7. 我们可以在dev分支上像主分支一样正常提交,dev分支的工作完成,我们就可以切换回master分支命令
    ```$ git checkout master```
    
    8. 把dev分支的工作成果合并到master分支命令git merge,用于合并指定分支到当前分支:
    ``` $ git merge dev```
    
    9. 合并完成后,就可以放心地删除dev分支命令
    ``` $ git branch -d dev``` 
    
    10. 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。用命令可以看到分支合并图
    ```$ git log --graph --pretty=oneline --abbrev-commit```
    
    11. 合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去
    ```$ git merge --no-ff -m "merge with no-ff" dev```
    查看分支历史
    ```$ git log --graph --pretty=oneline --abbrev-commit```
    
    12. Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
    ```$ git stash```
    
    13. 查看工作现场存在哪里
    ```$ git stash list```
    
    14. 恢复工作现场,有两种
    一、是用```git stash apply```恢复,但是恢复后,stash内容并不删除,你需要用```git stash drop```来删除;
    二、用```git stash pop```,恢复的同时把stash内容也删了
    
    15. 恢复指定的stash,用命令:
    ```$ git stash apply stash@{0}```
    
    16.开发一个新feature,最好新建一个分支;
    如果要丢弃一个没有被合并过的分支,可以通过命令强行删除
    ```$ git branch -D <name>```
    
    17.查看远程库的信息,用
    ``` $ git remote```
    显示更详细的信息
    ``` $ git remote -v```
    
    18.多人协作的工作模式通常是这样:
        首先,可以试图用git push origin branch-name推送自己的修改;
        如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
        如果合并有冲突,则解决冲突,并在本地提交;
        没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
    如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令
    ```$ git  branch --set-upstream-to=origin/branch-name```
    
    19.查看远程库信息,使用git remote -v;
        本地新建的分支如果不推送到远程,对其他人就是不可见的;
        从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
        在本地创建和远程分支对应的分支,使用
    ``` $ git checkout -b branch-name origin/branch-name```,本地和远程分支的名称最好一致;
        建立本地分支和远程分支的关联,使用
    ```$ git  branch --set-upstream-to=origin/branch-name```
        从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
    
    20.注意点:
    Cannot update paths and switch to branch at the same time 
    当使用git进行创建本地的远程分支时操作:
    ``` $ git checkout -b local-name origin/remote-name``` 
    
    出现错误:
    fatal: git checkout: updating paths is incompatible with switching branches.Did you intend to checkout 'origin/remote-name' which can not be resolved as commit?
    解决办法:
    ``` $git remote show origin
    $ git remote update
    $ git fetch
    $ git checkout -b local-name origin/remote-name```

    相关文章

      网友评论

          本文标题:git 学习笔记(二)

          本文链接:https://www.haomeiwen.com/subject/ehbwmttx.html