zoukankan      html  css  js  c++  java
  • Git相关内容

    先聊一点关于gitlab的内容和github的内容

    GitlabGitHub,都是我们可以存放代码库的地方。不过Gitlab可以免费的存储私人代码,GitHub需要花钱才能够存储私人代码库,不过我想人家的初衷可能是本着尽量让你开源的动机。哈哈。

    为了管理好我们的代码库,要准备好这么几样

    谈一点关于Gitlab的使用部分

    • 申请账号
      • 我之前都是用GitHub,公司用过Gitlab,不过那也是公司给的授权的邮箱账号直接登录就好了,如果是自己注册Gitlab失败的话,可以试试用第三方登录(比如用gmail或者是直接也用GitHub的账号登录)
    • 谈谈登录后提交代码相关的内容,我们需要配置好SSH key的后才能有权限操作代码库
      • 生成SSH key
      • 一点注意事项:当我们生成完了SSH key以后注意到 相应的目录下(家目录的 .ssh 的文件里边)。
      • .ssh是隐藏文件,如果是没有看到相应文件使用快捷键("Command" + "Shift"+ "." 可以显示隐藏文件、文件夹,再按一次,恢复隐藏;)。
      • 等我们生成好了ssh key注意在相应的目录下是否真的有了记得验证,还有记得把相应的公钥添加到Gitlab要求添加的SSH那里,否则可能在pull 或者是push代码的时候出现permission的问题
      • 还有一点注意的是,如果是选用SSH 的方式pull 或者是push代码,如果是有结合使用Source Tree的话,注意要把远端的地址,设置成SSH 形式的地址,避免出现问题
      • 还有一点是有的时候我们的远端的master可能设置了不能直接从本地推送到远端的master分支,如果是那样的话,可以先推送到dev等分支,然后在Gitlab里边再合并
      • 还有如果要是要修改SourceTree默认的推送的是https改成SSH的方式的话可以使用vi编辑相应文件做改动,这个以后补上

    光说不练假把式

    • 常用的Mac终端命令
      • ls : 列出当前路径下的文件列表(在生成好ssh key后可以在目录下看看ssh key是否真的存在了)
      • "cmd"  + "k" (清空名目上的内容)
      • cd ~ : cd到家目录  相应的再cd ~/.ssh 就可以到 存放ssh key的目录下了   cd - 是返回到上一级目录
      • pwd:打印当前的文件所在路径(可以在生成好了在切换进入到.ssh 文件下后,检测一下是否是在.ssh 目录下)
      • cat 文件名 : 查看文件内容
      • control + z  终止终端一些未完的输出(比如说在用git log的时候不想看后边的内容的时候)
      • control + c 终止任务(比如说是在使用cocoapods的update的过程中想终止的时候)
    • 常用的Git命令(其实我还总是终端命令结合着SourceTree 一起使用,因为感觉还是用SourceTree可以很直观的看到代码的改动的地方)
      • mkdir 文件名 :创建文件
      • git init : git初始化
      • git config user.name  : 查看用户名
      • git config user.email  :查看用户email
      • git config user.name "ITCoderW" : 设置用户名
      • git config user.email "itcoderw@gmail.com" : 设置用户邮箱  (哈哈写个高逼格邮箱)
      • git config --global user.name :查看全局配置的用户名
      • git config --global user.email : 查看全局配置的用户邮箱
      • git config --global user.name "ITCoderW":设置全局配置的用户名
      • git config --global user.email  "itcoderw@gmail.com": 设置全局配置的用户邮箱
      • git add . : 把所有的改动的文件存储到暂存区
      • git stash :把所有的没提交的文件删除掉
      • git commit -m "提交信息" :提交的时候填写的提交信息
      • git log :查看提交的历史记录       git log --oneline :(查看的历史记录都是以 一次提交占用一行的形式呈现的)
      • git status : 
      • git reflog :查看历史记录包括那些回退过的版本的git记录
        • git reflog 可以查看所有分支的所有操作记录(包括(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录:
        • 参考网址:http://blog.csdn.net/ibingow/article/details/7541402
      • git branch :查看当前所有分支
      • git branch "liveFeatureBranch" : 如果还没有liveFeatureBranch 就会创建一个liveFeatureBranch (注意在哪个分支下git branch 的,则新生成的分支将会和其分支下的内容一样)
      • git checkout "liveFeatureBranch" : 切换到liveFeatureBranch
      • git branch -d "liveFeatureBranch" : 删除liveFeatureBranch
      • git branch(如果是显示master)   git  merge dev :则为合并dev到master : 合并dev到merge之前的git branch显示的分支
      • git reset --hard ^ : 退回到上次提交
      • git reset --hard "某次提交的提交编号" : 退回到提交编号的那次提交
      • git clone "https/SSH代码库网址"  克隆代码
      • git remote -v : 查看远端的信息
      • git log --left-right --oneline origin/分支名称 
      • git remote add origin "远端地址" : 添加远端地址(可以把用终端的形式的本地和远端联系起来)
      • git remote set-url origin "远端地址" (改变远端的地址的时候使用)
      • git push origin master : dev  : 把本地的master分支推送到远端的dev分支
      • git push -f : 强行推送
      • git pull origin master:dev   :把远端的dev拉取到本地的master
      • git pull相当于git fetch 然后再merge
      • git tag "version x" :打标签版本号

    可能遇到的问题:

    2018-03-25更新:记录一次git的问题:

    问题:使用Xcode提交代码的时候,发现后来没提交到github上去;

    检查办法:

    但是在使用Xcode进行提交的时候,发现上次提交的文件已经不显示了;

    使用终端命令重新git clone一份代码的时候,发现相关的代码确实没有在github上出现;

    使用git log检查的时候,发现有相关的提交的信息,看来是相关的部分的代码是git commit -m ""  那部分执行成功了,但是git push没有成功;

    于是在终端重新使用git push做了操作,到github上看,代码显示正常了。

    问题:commit的某些文件丢失了

    使用git reflog的方式查看到了丢失的commit的信息

    之后又使用git reset --hard commit标识 回到了丢失的commit的信息的部分 项目中的文件就显示正常了

    扩展内容:

    先写到这么多吧,持续更新

    如有问题,敬请指正

    如需转载,请注明出处,谢谢!

    我会不定期分享 iOS 相关技术文章
  • 相关阅读:
    查看端口有没有被占用
    微信公众号2()
    How to insert a segment of noise to music file
    puppet practice
    Docker Commands
    LempelZiv algorithm realization
    The algorithm of entropy realization
    Java network programmingguessing game
    Deploy Openstack with RDO and Change VNC console to Spice
    puppet overview
  • 原文地址:https://www.cnblogs.com/ITCoderW/p/7662870.html
Copyright © 2011-2022 走看看