zoukankan      html  css  js  c++  java
  • git安装与使用

     

    git下载

    配置

    桌面鼠标右键,点击Git Bash Here
    (1 )设置用户名称和登录邮箱
    $ git config --global user.name "sunt998"   # github账号名称
    $ git config --global user.email '1487415257@qq.com' # github注册邮箱地址
    (2) 查看配置信息
    git config --list   # 查看配置信息

    常用命令

    git初始化一个项目

    准备:在桌面上新建一个项目文件夹,文件夹里新建一个ReadMe.txt文件
    命令行:进入到项目所在目录
    git status (查看是否被git托管)
    git init (被git托管,同时创建一个.git文件夹,用于存放历史修改记录) # 用来初始化git项目,并生成.git文件夹
    如果提示 “Not a git repository ” 意味着,不是一个git项目,需要使用git init进行初始化
    如果提示 “Untracked files ” 意味着,文件没有被追踪

    git管理(追踪)某个文件

    告诉git,管理某个文件(追踪某个文件)
    git add <文件名> # 添加一个文件进行追踪
    git add . # 添加所有的文件
     

    git提交一个被管理的文件

    git commit -m '注释提交的文件'
     
     
     

    如何把代码放到GitHub上

    点击“新建仓库”输入“仓库名称”  # po有个 desc 的描述,可选后面三个,“readme” “忽略文件” “许可证”,

    都不选择。此处,下一步,会有提示。使用cmd进入到 需要的提交的项目的目录下。使用,提示的命令。

    (第一次,中途会提示输入github用户名和密码)

    git init # 初始化项目
    
    git add . # 把当前目录下的所有文件,交给git管理
    
    git commit -m "first commit" # 提交
    
    git remote add origin https://github.com/hitheima/po.git # 建立远端连接
    
    git push -u origin master # 推送到远端
    如果push一个已经存在的repository
    git remote add origin https://github.com/sunt998/01.git
    git push -u origin master
    搞清楚commit(自己提交的状态,一直有被记录)和push(将项目推到github的仓库)
    commit:是在本地仓库进行提交,如果提交多次,就会在本地仓库.git里面记录提交的具体时间
    push:是跟远端进行推送的一个过程,将本地仓库项目推送到远端上

    如何下载github项目

    download zip 下载
    - - 进入项目主页,右侧有一个绿色的按钮,点击后,选择download zip即可
    clone克隆
    - 从远端第一次放到本地的过程叫做克隆(cheakout)
    - 在github主页上,项目会有一个地址,通过sourceTree进行克隆
    - sourceTree点击新仓库,从url克隆。
    - 将“xxxx.git”的地址,赋值到soureceTree中的url中。
    - 选择,存放路径即可。

    PULL

    作用,本地已经和远端建立连接的情况下(已经clone过了),将远端的代码,同步到本地。
    (让本地保持和远端一样)。这个过程叫做pull
    在sourceTree中,使用拉取,点击确定。

    切换版本

    切换版本,就是可以快速的预览,之前提交的版本的文件的情况。
    在sourceTree中,直接双击,出现Head标记即可。

    多次commit后再push

    如果本地项目进行修改之后,sourceTree会提示,修改文件的个数。(修改test_network.py文件
    如果想使用sourceTree进行提交,需要先勾选“暂存的文件”(需要提交什么,就勾选什么。允许部分提交)(相当于git命令中的add方法)
    在点击Sourcetree的提交按钮
    ​提交之后,此时远端并不会发生变化。需要进行一次push(推送),让远端同步本地的代码。让远端和本地保持一致。
    ok,上面演示的是单次commit,单次push。
    多次commit和多次push,接下来简单的演示一下。
    先将两个为暂存文件进行提交,提交之后,Sorucetree界面如下
    可以看出,这就是多次commit,多次push了。

    关于提交时间

    提交的时间,以每次commit为准。与push无关。

    提交的时候同时推送

    在提交写注释的时候,最下方有一个,“立即推送并更变 orgin/master”。
    这个选项,表示。提交并且推送到远端

    小总结

    init    是一个git管家
    
    status  查看管家管理的内容及状态
    
    add  告诉管家哪些文件交由管家管理
    
    commit  让管家记录当前状态
    
    push    让本地git管家将所有东西交给远端github管家管理
    
    clone   让远端管家将所有文件交给本地管家一份
    
    pull     让本地管家同步远程管家的最新状态

    冲突与解决

    冲突发生的情况,在多个人开发中,出现了,同一个文件同一行代码的修改。会产生这个问题。
    在pull的时候,会发生。(当远端的某一个文件的某一行。和本地不同, 并且不是之前的版本)
    解决的问题的方法,需要自己权衡。保留或者删除。删除多余的<<<< ===== >>>> 相关信息、
    <<<<<< HEAD
    print(1)
    ======
    print(2)
    >>>>>> 8ux8vus8fsd8fus8dufs
    
    HEAD部分是自己的代码
    远端版本号的代码是远端的代码

    重新提交,并推送。

    接下来模拟一遍冲突以及解决冲突流程
     
    A程序员:对test_network.py文件的52行进行改动,将12g改为13g.并push到服务器
    B程序员:对test_network.py文件的52行进行改动,将12g改为15g.并commit,当B程序员想要将它的改动push到服务器时。
                    会提示报错,报错信息为:
     
                     (e.g., 'git pull ...') before pushing again.
    让你必须先pull远程服务器,再push
     
    当你拉取pull时,会发生冲突,这是要你根据需求来合并冲突部分
    <<<<<<< HEAD
    	def test_mobile_network_15g(self):  # B程序员要修改的
    =======
    	def test_mobile_network_13g(self): # A程序员修改,并push到服务器的
    >>>>>>> 8f208e4d8584ca9ee4f4b98a4f6d688665217596
            self.network_page.click_more()
            self.network_page.click_network()
            self.network_page.click_first_network()
            self.network_page.click_9g() 
    如果B程序员修改的更好些,修改如下:
    	def test_mobile_network_15g(self):
            self.network_page.click_more()
            self.network_page.click_network()
            self.network_page.click_first_network()
            self.network_page.click_9g() 
    在提交并push到远程服务器,就可以解决冲突了。

     

  • 相关阅读:
    iOS 后台运行
    内存管理
    ios -晋级之路 如何去掉tableView多余行的横线
    ios 晋级之路- block深入
    iOS 晋级之路- 调用相机和相册的功能
    iOS开发 --定位
    学习笔记 ios开发 手势
    排序法系列-快速排序法
    计算文本的高度BoundingRectWithSize:options:context
    NSClassFromString的用法
  • 原文地址:https://www.cnblogs.com/st998/p/13825250.html
Copyright © 2011-2022 走看看