美文网首页Git
git一天学习总结

git一天学习总结

作者: 龙猫六六 | 来源:发表于2019-11-04 17:37 被阅读0次

    远程仓库克隆

    在github或者公司内网的git新建一个远程仓库,然后使用clone命令克隆空的工程到本地工作区

    jc@jc:~/Desktop/技术栈/git$ git clone git@github.com:xxxx/gitdemo.git
    Cloning into 'gitdemo'...
    warning: You appear to have cloned an empty repository.
    

    如上述代码,已经成功从远程仓库克隆了一个空的工程到本地

    git工作区操作

    git工作区可以理解为本地目录所展示的内容,即实际编码区域。

    git工作区查看

    接上一节从远端克隆一个空的工程,查看其目录结果

    jc@jc:~/Desktop/技术栈/git/gitdemo$ ls -a
    .     ..    .git  .idea
    jc@jc:~/Desktop/技术栈/git/gitdemo$ cd .git
    jc@jc:~/Desktop/技术栈/git/gitdemo/.git$ ls -a
    .           HEAD        config      hooks       objects
    ..          branches    description info        refs
    
    • .git:隐藏文件,git的所有配置文件存放在此,包括配置文件(cofig),branches(分支信息)等
    • .idea:python的pycharm工程配置文件

    .gitignore文件配置

    git使用过程中,部分文件不希望被git识别为改动,因此可以使用.gitignore进行配置,git内部会进行识别,使得忽略指定的文件
    官方文档:
    https://github.com/github/gitignore/blob/master/Python.gitignore
    根据不同的工程,gitignore提供不同模版文件,本文为python脚本,在官网下载Python.gitignore,使用过程中需要以下几点:

    • 文件修改为.gitignore
    • .gitignore存在root根目录下,即与.git平级
    jc@jc:~/Desktop/技术栈/git/gitdemo$ ls -a
    .          ..         .git       .gitignore .idea
    
    • 直接编辑.gitignore文件,将忽略的文件名,或者文件夹名加入,如本列中将.idea/文件下所有的文件忽略
      image.png

    git文件状态查看

    git status -s
    

    使用如下命令可以查看工作区文件的增删改状态,后面会配合使用git status -s命令查看不同操作后的文件状态

    工作区文件添加

    本列在pycharm编译器下进行操作,新建一个demo1.py文件,git status -s结果如下

    image.png
    • demo1.py状态为A,表示为已经添加到工程区
    • gitignore状态为??,表示位置操作,因此可以使用命令git add .gitignore将其添加
      image.png

    工作区文件更新

    更新demo1.py文件内容后,查看文件的状态


    image.png
    • demo1.py状态变为AM,A表示为添加的新文件,M表示为已更新

    工作区文件删除

    删除git文件,因使用 git rm -f file

    image.png

    git版本库操作

    工作区编码完成后,需要将文件进行提交存储在对应的版本库中。版本库使用的命令为git commit -am '描述'
    如当前的工作区的文件状态如下:

    jc@jc:~/Desktop/技术栈/git/gitdemo$ git status -s
    A  .gitignore
    AM demo1.py
    

    调用commit命令提交到版本库


    image.png
    • 使用commit命令提交成功后,会输出提交的文件和版本号
    • 再次调用stauts命令,缓冲区没有差异代码

    git远端推送操作

    将版本存入对应的版本库,下一步就需要提交到远程。

    • git push 拉去最新代码后,进行远端的push


      image.png

      如上图,git push成功

    git冲突解决

    开发过程中git的基本使用操作如下:

    • 1.从远程仓库拉去master分支代码

    • 2.本地git一个新的分支如test,分支内容为master
      git branch : 查看现有分支
      git branch test:新建test分支

      image.png
    • 3.切换到test分支


      image.png
    • 4.test分支上进行代码的修改,并提交


      image.png
    • 5.切换到master分支,并修改demo1.py文件并提交


      image.png
    • 6.demo1.py在master和test分支上存在冲突

    #master分支
    if __name__ == '__main__':
        print('jc001')
    
    #test分支
    if __name__ == '__main__':
        print('jc001')
    
    • 7.在master分支上merge test分支,由于存在冲突,命令行会如下输出


      image.png
    • 8.冲突解决
      如下图,冲突文件


      image.png

      HEAD:为当前master的代码块

    • test:为当前test分支的代码块

    • 删除HEAD的代码,后既可以完成分支的合并

    • 1.手动解决冲突代码,解决后demo1.py的状态为UU

    • 2.调用'git add demo1.py' 或者直接提交代码完成合并


      image.png

    常用的git命令

    git clone ssh:xxxx : 从远端仓库克隆代码
    git init :初始化本地git工程,执行后会多出个.git的隐藏文件
    git status -s :查看git缓冲区的文件状态
    git add filename:添加文件到git缓冲区
    git rm -rf filename:从git缓冲区输出文件
    git branch test:本地创建新的分支test
    git branch :查看本地所有分支
    git checkout test:切换到test分支
    git checkout xxsddda:代码检出xxsdda
    git log --oneline --graph:查看git的log信息
    git tag -a v1.0 :给git打一个tag

    参考资料:

    https://www.runoob.com/git/

    相关文章

      网友评论

        本文标题:git一天学习总结

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