美文网首页
码云使用及Git命令

码云使用及Git命令

作者: 孙凯iOS | 来源:发表于2018-12-13 15:44 被阅读0次

    git命令

    仓库关联

    仓库连接相关(引用自熊本同学)

    git remote remove origin  //移除远程仓库连接
    git remote add origin <远程仓库地址>
    git remote set-url origin <新的远程仓库地址> //直接设置远程连接
    

    初次上传码云项目

    第一次上传码云无法push问题,引用自学习中呢

    新建xcode项目
    在码云上新建项目
    cd 项目文件内
    git init
    git remote add origin url
    git pull origin master --allow-unrelated-histories
    git add .
    git commit -m 'push'
    git push origin master
    

    初次下载码云项目

    cd 项目所在文件夹
    git init
    git clone url
    cd 项目文件内
    git remote add origin <远程仓库地址>
    git pull origin master
    git add .
    git commit -m 'push'
    git push origin master
    

    分支管理

    查看分支

    git branch      //查看分支-默认本地
    git branch -a   //查看本地及远程分支
    git branch -vv  //查看本地及远程分支关联情况
    git branch -v   //查看本地分支    
    git branch -r   //查看远程分支
    

    新建本地分支

    如果远程没有该分支
    git branch <分支名>        //创建分支(不要带尖括号,下同)
    git checkout <分支名>      //切换到新建分支
    git checkout -b <分支名>   //从当前分支创建并切换到新建分支(上面两步的简写)
    //直接 git push origin <分支名>  会新建一个远程分支
    //这两种方法新建的本地分支未关联远程分支,需重新关联
    
    如果远程已存在该分支
    git checkout -b <分支名> <远程名>/<远程已存在分支名>
    //基于远程分支新建本地分支  如 git checkout -b newBranch origin/newBranch
    或
    git checkout --track <远程名>/<远程已存在分支名>
    //默认新建一个同名的本地分支  如 git checkout --track origin/newBranch
    //这两种方法新建的本地分支已关联远程分支,无需重新关联
    

    关联分支

    git branch -vv  //查看分支是否关联远程分支,如果是基于远程分支新建的本地分支,就是已关联状态
    git branch -a查看远程分支
    git branch -u remotes/<远程名>/<远程分支名>
    //关联后可以直接拉取或提交代码,不需要加分支名
    

    查看修改记录

    git status  //查看修改记录
    

    放弃代码修改

    放弃代码修改(引用自toyflivver)

    1.未使用 git add 缓存代码时。
    git checkout -- Test/Class/Me/Home/<文件名>    //放弃某个文件修改
    git checkout .   //放弃所有修改
    
    2.已经使用了 git add 缓存了代码。
    git reset HEAD <文件名>    //放弃某个文件修改,估计要加路径(同上)
    git reset HEAD .        //放弃所有修改
    说明:此命令用来清除git对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(1)所示的状态。继续用(1)中的操作,就可以放弃本地的修改。
    
    3.已经用 git commit 提交到本地。
    git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。不删除工作空间改动代码,撤销commit,并且撤销git add .
    git reset --soft HEAD^    //不删除工作空间改动代码,撤销commit,不撤销git add . 
    git reset --hard HEAD^.   //删除工作空间改动代码,撤销commit,撤销git add . 回退到上一次commit的状态
    git reset --hard <提交commit ID> //如git reset --hard 5ac6a94d47d6f21f486ed0a784ed7982f1f2b5d2 
    //会退到某一次commit, git log 查看
    //中间的记录也会被删除,多人开发慎用(下同)
    
    4.已经用 git push 提交到远程服务器。
    先使用(3)中的操作,把本地代码会退到上一个版本或之前某一个版本
    然后git push origin <分支名> --force //把远程代码回退到上一次提交
    
    5.只删除中间某次提交代码。
    git revert <提交commit ID>
    如果删除的是合并操作
    git revert commit_id -m 1  或
    git revert commit_id -m 2
    
    https://blog.csdn.net/u013066244/article/details/79920012
    

    删除分支

    git branch -d <本地分支名>   //删除已合并分支
    git branch -D <本地分支名>   //删除未合并分支
    git push origin --delete <远程分支名>    //删除远程分支
    

    合并分支

    git checkout master //先回到本地主分支
    git merge <分支名> //合并本地分支
    合并完成后需要直接push到远程主分支,如果之前分支未add commit 需要add commit后再push
    如果有冲突可以使用图形化工具来解决冲突,你可以运行 git mergetool
    git cherry-pick commit_id //合并其他分支的某次提交
    

    tag

    git tag
    git tag -a '1.1' -m '1.1'  or git tag 1.1
    git push --tags
    git tag -d 1.1
    git push origin :refs/tags/1.1
    

    查看提交记录

    git log
    git show                    查看最新的commit
    git show commitId           查看指定commit hashID的所有修改:
    git show commitId fileName  查看某次commit中具体某个文件的修改:
    

    储藏

    git stash           会把所有未提交的修改(包括暂存的和非暂存的)都保存起来
    git stash save "name"
    git stash list
    git stash pop       恢复储藏
    git stash drop stash@{0}        删除储藏
    git stash clear                 清空储藏
    

    储藏

    使用后项目文件过大,是因为有很多git缓存,如果压缩项目时可以把缓存及分支删除

    ls -a           //查看目录文件是否有.git
    rm -rf .git     //删除所有.git
    

    相关文章

      网友评论

          本文标题:码云使用及Git命令

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