git用法汇总

  使用了一年多的git命令了,昨晚竟然又出现了问题。虽然解决了,不过还是被罚了。。。 总结下自己常用的git命令和遇到的一些坑。

  1)常用的命令

      1. 从git远程分支clone代码: git clone  gitlab地址代码

       2.查看当前分支

         git branch

       3. 切换分支

         git  checkout 分支名

       4. 合并代码

        git merge 分支名称

      5.提交代码

       git add -A

       git commit -m "注释"

       git push origin 分支名

     2)特定场景遇到的一些问题

       1.回滚到某个分支

          1) git log     查看提交的记录

          .找到具体需要回滚到那次的

          2)git reset --hard  回滚日志id

          回滚后强制提交  (如果是受保护的分支是无法回滚的)

           3)git push origin 分支名 --force

       2.如果冲突过多,只提交自己的分支代码 

       git log 查看自己的分支提交记录

        git cherry-pick 日志id

        git add -A

        git commit -m "提交内容"

         git push origin 分支名  即可

        3.查看自己分支是以哪个分支为基准的

         git reflog --date=local --all | grep 分支名称

         

         git reflog show 分支名称
     
        4.如果远程创建好了分支,本地没有。 我曾经用过
        git checkout -b  远程分支名
        这里面有个坑,如果你当前所在的分支 和远程创建的分支 不是同一个分支名,当你 checkout -b 时候会把你本地的分支合并到远程分支上面的。 比如 你在远程创建了一个以master为基准的分支,而在你本地 ,你当前是在dev 分支上面。这个时候 你使用 git checkout -b 分支名,就会出现 你本地的分支是以dev为基准的。你在去pull 远程分支的时候,就会把你本地以dev为基准的分支合并到远程 以master为基准的分支上面。当你合并到其他分支的时候,就会出现特别多的冲突。。。。  
    正确用法是 :远程创建了分支后,先去git pull 下,再去git checkout 分支 
 
 

     

原文地址:https://www.cnblogs.com/thinkingandworkinghard/p/10877441.html