zoukankan      html  css  js  c++  java
  • 源代码管理git的使用

    Git

    ----本地仓库----

    1.新建一个“本地仓库”

    • git init

    2.配置仓库

    ①告诉git你是谁

    • git config user.name syl

    ②告诉git怎么联系你

    • git config user.email syl@qq.com

    上面一种配置方式是一次性的配置, 会配置到被管理文件的。git文件夹下

    下面一种配置方式是一劳永逸的方式:

    • git config --global user.name syl
    • git config --global user.email syl@qq.com

    3、如何学习git指令

    <1>、git常规指令

    • git status 查看文件状态
    • git add . 添加文件到“暂存区”
    • git commit -m "注释" 文件名称 添加文件到”本地仓库“

    注意:

    <2>、如果没有在commit后面加上 -m说明修改了什么, 会自动进入vim界面, 要求我们输入修改信息

    • 按键盘上的 i 代表开始输入内容
    • 输入完毕之后按 esc 然后按 :wq

    所以: 如果以后在终端中提交最好在后面加上-m

    <3>、注意:

    • git中的add和SVN中的add不太一样, SVN中只需要add一次, 而git中每次新建或者修改之后都需要重新add

    ①红色 代表在”工作区“

    • 为添加之前的颜色

    ②绿色 代码在”暂存区“

    • 添加到暂存区之后的颜色

    <4>、注意: git默认没有简写指令

    注意: 一般情况下不建议自定义简写指令

    • git中的简写称之为起别名

    别名 & 日志

    • $ git config alias.st status
    • $ git config alias.ci "commit -m"

    <5>、查看log

    • git log 文件名
    • 注意: GIt中的版本号是一个”40位“的哈希值,
    • 而SVN中的版本号是一个递增的整数

    配置带颜色的log别名

    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

    ①已经提交的版本

    • git reset —hard HEAD^ 返回上一个版本

      • 其中—hard代表强制重置
    • git reset —hard 版本号(只需要写前7位)

    ②未提交

    • git checkout 文件名 回退到上一次提交的版本
    • git reset —hard HEAD 回退到上一次提交的版,

    注意HEAD后面没有尖号^

    c9ad690 HEAD@{0}: commit: main.c
    
    7026f99 HEAD@{1}: commit: 输出结果
    
    e950c89 HEAD@{2}: commit: 新增输入
    
    c7bf91c HEAD@{3}: commit: 添加变量
    
    cbd9e52 HEAD@{4}: commit: 删除print函数
    
    45ea44d HEAD@{5}: commit: 添加了printf函数
    
    0da06d8 HEAD@{6}: commit (initial): i
    

    <6>、git reflog 查看所有修改信息(所有版本)

    <7>、查看文件被修改的什么地方

    • git diff 文件名
      • 如果显示绿色代表新增
      • 如果显示红色代表删除

    ----远程仓库----

    • SVN需要一个单独的服务器
    • Git不需要: 文件中、U盘中、云上、github、OSChina...

    1.新建git远程仓库

    • git init —bare
    • 注意: 这个仓库仅仅是用于管理代码, 不参与开发

    2.项目经理初始化项目

    2.1先克隆一份空得仓库到本地

    • git clone /Users/apple/Desktop/working/公司远程仓库

    2.2忽略不需要加入版本控制器的文件以及文件夹

    • .gitignore
    • 注意: 配置忽略文件只需要到github上搜索.gitignore拷贝别人写好的代码即可
    • 配置.gitignore一定要在和.git隐藏文件夹同一级的目录下

    2.3生成好.gitignore文件之后, 还需要将.gitignore文件添加到版本控制

    • git add .gitignore
    • git commit .gitignore -m””

    2.4新建项目

    • source conrol—>commit 将代码提交到本地仓库
    • source conrol—>push 将代码提交到远程仓库

    • git中默认就会创建一个分支, 这个分支叫做origin/master, 相当于svn中的trunk

    • 专业人员只需要在git仓库的hooks文件夹中写一些指令, 就可以完成自动测试(压力测试、自动测试、集成测试、冒烟测试、。。。)

    • 和SVN一样, 如果服务器仓库的代码被修改了, 我们再提交代码也会报错。

    • fetch first == out of data

    总结:

    git和svn最大的区别

    • 1.git每次修改新增都需要add
    • 2.git每台电脑都有一个仓库
    • 3.git是先提交到本地仓库, 再提交到远程仓库

    ----gitHub----

    通过Xcode将代码提交到github上, 把仓库放在github上

    1.注册一个github账号

    2.配置SSH Keys, 只要配置了SSH

    Keys就可以和github无缝衔接

    • 点击昵称来到个人主页
    • 点击主页中的设置(setting)
    • 点击SSH Keys
    • 点击 generating SSH keys

    1.检查本地的ssh keys

    • 在“用户目录”下 ls -al ~/.ssh

    2.如果文件夹不存在需要手动创建一个

    • mkdir .ssh

    3.根据github的提示2生成ssh keys

    • 在.ssh目录下执行
    • ssh-keygen -t rsa -C "your_email@example.com” 输入完成之后连续按下回车, 知道出现牛逼的图形位置

    4.生成完公钥和私钥之后输入

    • ls -la查看是否生成成功
    • id_rsa(私钥) id_rsa.pub(公钥)

    5.根据提示3获得公钥

    • pbcopy < ~/.ssh/id_rsa.pub

    6.点击 setting —》 ssh key —>add ssh key

    • 将刚才获取到得公钥添加进去

    7.根据github第4步提示, 验证公钥

    • 验证成功网页上的灰色圆点会变成绿色

    8.拷贝到公钥之后打开github主页

    • 点击仓库(Repositories)
    • 再点击new来到github创建仓库界面

    9.通过github提供的地址下载一个空得仓库到本地

    • 创建一个新的项目到本地仓库文件夹中
    • 利用Xcode提交代码到github
    • 注意: 要求输入用户名密码时候, 输入的是github上显示的昵称而不是登录账号

  • 相关阅读:
    bzoj2763: [JLOI2011]飞行路线(分层图spfa)
    8.20noip模拟题
    8.19noip模拟题
    1046: [HAOI2007]上升序列(dp)
    bzoj1079: [SCOI2008]着色方案(dp)
    逆序对
    P1966 火柴排队(逆序对)
    NOIP 2015 DAY2
    8.15学校模拟
    差分
  • 原文地址:https://www.cnblogs.com/ShaoYinling/p/4693921.html
Copyright © 2011-2022 走看看