Git使用

作者: jadefly | 来源:发表于2018-06-06 09:20 被阅读0次

    远程协同开发步骤:

    1.命令行方式

              1)本地无项目,把码市上的项目clone下来

                   git clone 码市上的项目地址(.git)

              2)本地已有项目,向码市新建项目添加此项目

                   1.添加远程仓库 (先init初始化本地仓库)

                      git remote add origin 码市上的项目地址(.git)

                   2.查看远程仓库

                      git remote -v

                   3.添加项目到缓存区

                      git add 要上传的项目

                   4.提交缓存区

                      git commit -m "要编辑的话"

                   5.先拉下最新代码

                      git pull origin master

                   6.push代码

                      git push origin master

    2.ASGUI方式

                   1.VCS-import into version control-create git repository 初始化本地仓库

                   2.VCS-Git-remotes 添加远程地址

                   3.VCS-Git-pull/push 该建立连接的选一下

                 ( 注:若远程有本地没有的文件,pull不能选merge,要选rebase先把远程的拉下来;push前该add的添加下)

    注:若拉不下来(代码和Gui方式都可能有这种情况),试试:git branch --set-upstream-to origin/master master


    关于ssh

              1.ssh-keygen -t rsa -C"xxxxx@xxxxx.com"  //生成ssh公钥

              2.cat ~/.ssh/id_rsa.pub  //查看你的 public key,将得到的公钥添加到对应平台

                 码云:ssh -Tgit@git.oschina.net 返回welcome表示成功

              --allow-unrelated-histories  //pull时解决(因为两个仓库不同,发现refusing to merge unrelated histories)


    基础命令:

    1.git config --global user.name"Your Name"                       //查看则不加后面引号内容

    2.git config --global user.email"email@example.com"

    3.git init                                                                                //通过git init命令把一个目录变成Git可以管理的仓库

    4.git add readme.txt   ||     git add .                                      //添加文件到仓库(add . 添加所有)

    5.git commit -m"first commit"                                               //提交文件到仓库

    6.git status                                                                           //查看仓库当前的状态

    7.git diff                                                                                //查看difference,具体的修改内容

    8.git log                                                                                //显示从最近到最远的提交日志    --pretty=oneline 加参数显示简单点

    8.git reset--hard HEAD^    || git reset --hard commit_id      //回退到上一版本,HEAD表示当前版本,HEAD^^,HEAD~100

    9.git reflog                                                                           //记录每一次命令

    10.git checkout -- file                                                          //丢弃工作区的修改 eg:修改了readme.txt,执行命令放弃修改。 无“--”表示切换到分支

    11.git reset HEAD file                                                         //可以把暂存区的修改撤销掉(unstage),重新放回工作区

    //git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

    12.git reset HEAD file                                                        //可以把暂存区的修改撤销掉(unstage),重新放回工作区

    13.git rm                                                                            //删除一个文件,已经提交到版本库不用担心误删,但只能恢复文件到最新版本

         删除-commit-push

    14.git remote add origin git@server-name:path/repo-name.git          //关联一个远程库

    15.git push -u origin master                                              //第一次推送master分支的所有内容 -u:将本地的master分支和远程的master分支关联

    16.git clone                                                                       //克隆一个本地库

    17.git branch                                                                     //查看当前分支

    18.git branch  blackbai12-branch                                      //创建分支

    19.git checkout                                                                  //切换分支

    20.git checkout -b blackbai12-branch                               //创建并切换分支

    21.git merge                                                                      //合并指定分支到当前分支

         git merge --no-ff -m"merge with no-ff"dev                    //--no-ff参数,表示禁用Fast forward

    22.git branch -d blackbai12-branch                                   //删除分支

    23.git log --graph                                                               //查看分支合并图


    忽略文件

    一般需要忽略的文件如下:

    1、.idea文件夹

    2、.gradle文件夹

    3、所有的build文件夹

    4、所有的.iml文件

    5、local.properties文件

    AS svn忽略

    svn添加忽略文件

    AS git 忽略

    git添加忽略

    如果规则未生效,如下更新:git rm -r --cached .       git add .       git commit -m'update .gitignore'


    tips:

    1.为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

           $git add file1.txt

           $git add file2.txt file3.txt

           $git commit -m"add 3 files."

    2.git log  是当你回退到某个版本,此版本之后的记录,就自动抹去了

       git reflog 是你提交的完整的命令历史,回退到某个版本,仍然可以查到位于此版本之后的版本号。

    3.工作区(Working Directory):就是你在电脑里能看到的目录

        版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库

    4.Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

    5.开发中一直 本地dev push 远程dev,(团队协作同时push远程dev,解决冲突,保证远程dev和本地dev无冲突)

       (需合并时,eg:matser发布一个版本)本地master merge 本地 dev,本地master push 远程master

    https://blog.csdn.net/coder_pig/article/details/54346867

    相关文章

      网友评论

          本文标题:Git使用

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