• git--版本控制


    1、在项目目录下鼠标右键 选择 Git Bash Here 在命令行输入
    git init  
     初始化一个空的git仓库(存放git对本项目代码进行备份的文件)
     在项目中可看到一个隐藏的文件夹.git
     
     
    2、配置(自报家门)每次备份都会存储以下信息
    在git中设置当前使用的用户是谁
     
    1)命令:git config -- global user.name "Linda"    
    回车后路径不变表示设置用户名成功
     
    2)命令:git config -- global user.email "Linda@sina.com"
    回车后路径不变表示设置邮箱成功 (邮箱格式必须正确,不一定真邮箱)
     
     
     
    3、添加新文件需要的步骤
     
    1)提交代码(代码存储到.git仓库)放在大门口  
     
    git add ./   表示添加当前同目录下的文件
     
    git add .    表示添加所有的(推荐)
     
    命令: git add ./readme.md
    (./readme.md 表示当前目录下需要提交的文件readme.md,一定要注意路径) 
    回车后路径不变表示操作成功
     
     
    2)代码放进仓库的房间里
    命令:git commit -m "这是对这次代码提交的说明" 
    (-m即message 引号部分说明当前要提交的代码做了啥事或者改了哪些东西,必须要)
    回车后提示 one file changed....表示操作成功
     
     
    4、修改代码后提交代码
     
    1)放在大门口
    git add ./readme.md
    (./readme.md 表示当前目录下需要提交的文件readme.md,一定要注意路径)
    (指定文件)
     
    git add./ 
    把所有修改的文件添加到大门口 
     
     
     
    2) 放在存储房间
    git commit -m "这是对这次代码提交的说明" 
    (-m即message 引号部分说明当前要提交的代码做了啥事或者改了哪些东西,必须要)
     
    git commit --all -m "
    这是一次性提交的代码"
     
     
     
    注意:要是忘记写说明进入到了另一个界面时可按下esc键后、输入:q即可返回到原来的界面、要是还是没有退出则按下esc键后 :q!强制退出。或者直接关闭命令窗口也是强制退出
     
     
    5、查看当前状态
     
    1)命令 git status 
    回车modified: 
    modified: ..是红色表示改了代码还没有add
    modified: ..是绿色表示代码放在了大门口(add)还没有commit
     
    working directory clean表示工作区是干净的即代码没有修改过也就是没有需要提交的代码
     
     
     
    6、所有修改过的代码一次性全部提交到仓库房间的命令:
    git commit --all -m "这是一次性提交的代码"
    回车后没有变化表示操作成功。
     
     
     
    7、git查看日志
    1)git log 
    回车即可查看详细日志
     
    2)git log --oneline 
    查看精简版的日志
     
    3)git reflog  
    查看版本切换记录可查看所有提交的版本号
     
     
    8、版本回退:
    1)git log --online 查看日志
     
    2)git reset --hard Head~0
    (修改了代码还没提交,要恢复到没改代码的状态 相当于svn的revert)
     
    3)git reset --hard Head~1 
    (修改了代码提交了回退到上一个版本,Head默认指向最近的版本即上一个版本)
     
    4)git reset --hard 版本号 
    通过版本号精确的回退到指定版本
     
     
    9、分支:master(主分支,默认的分支)
    1)创建分支:git branch dev
    回车没有变化表示操作成功
     
    2)查看当前所有分支: git branch 
    回车可看到所有的分支包括主分支,其中前面带*绿色的表示当前所在的分支
     
    3)切换到名为dev的分支: git checkeout dev 
    提示switched to banch 'dev'表示切换成功,此时标题后的深蓝色标题就是dev了
     
    4)修改了代码在分支中提交后查看日志,会标注出来在哪个分支提交的代码
     
     
    10、合并分支:将分支的内容合并到主分支
    1)命令: git checkout master
    首先需要将分支切换到主分支来,
     
    2)命令:git merge dev 回车
    接着将分支dev合并,
    出现updating ....表示操作成功
     
     
     
     
    11、解决冲突:
     
    1)git branch -d dev
    删除dev分支(需要注意在哪个分支下,在本分支下是不能删除自己的)
     
    2)同一行代码被修改后内容不一样后再提交会冲突,只能在代码块去手动解决冲突,即把不要的内容手动删掉重新提交即可。
     
     
    12、GitHub(git服务器)
     
    1)不是git,只是一个网站,可允许别人通过git上传代码到gitHub,需要的时候下载下来就能用了
     
    2)gitHub服务器仓库 (https方式不安全)
     
    命令:git push [地址] master 
    会把当前分支的内容上传到远程gitHub服务器的mster分支上
    看到“done”表示上传成功
     
    3)拿到已上传的代码:
     
    1.在github直接下载zip
    2.或者使用命令(pull使用较多)
    本地新建文件夹后 输入git init。再输入    git pull 地址 master
    看到“done”表示下载成功
     
     
    3.克隆项目(会自己新建文件名,相当于svn的checkout的默认的文件名)
     
    输入 git clone 地址
    看到“done”表示下载成功
    若多次执行会覆盖本地内容
     
     
     
     
    13、ssh方式提交代码到服务器(安全)
    优点:命令地址邮箱可生成两个文件;公钥和私钥,两者之间有关联(私钥自己保留)
     
    1)任意位置右键 选择git bash here 生成公钥和私钥
    输入:ssh-keygen -t rsa -C "Linda@sina.com"
    回车后设置存储位置,默认即可
    继续回车到最后
     
    回到存储位置打开isc文件后有个.pub文件就是公钥id_rsa就是私钥
     
     
    打开.pub文件复制下来所有代码去github网站设置公钥
     
    2)拿到代码:git pull 相当于是从远程获取最新版本并merge到本地
    本地新建文件夹后 输入git init。
    再输入   git pull 地址 master   
    看到“done”表示下载成功
     
     
     
    14、更新别人提交的最新的代码 
    git pull  ssh://git@192.168.20.210:/home/git/lh.git  master
      
    出现 remote。。。表示操作成功
     
     
     
    15、先更新(pull)再提交(push)
    先pull时若本地和服务器版本不一致可以先在本地解决冲突后再将代码push到服务器。
     
     
    16、push和pull的简写
    设置变量(lh)替换地址:
     
    git remote add lh ssh://git@192.168.20.210:/home/git/lh.git
     
    回车后,只要是在当前的项目目录下都能直接写变量lh即可
     
    git push lh -u master -u参数表示当前分支和远程的指定分支进行关联,以后提交代码到服务器就不写master了
     
     
    执行以上两次操作后,上传代码直接使用 git push即可
     
     
    17、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:
     
    git fetch orgin master //将远程仓库的master分支下载到本地当前branch中
     
    在实际使用中,git fetch更安全一些
     
     
     
     
     
     
     
    没有人能一路单纯到底,但是要记住,别忘了最初的自己!
  • 相关阅读:
    嵌入式Linux系统的构成和启动过程
    Linux 设备驱动之字符设备
    Linux的inode的理解
    flannel流程解析
    http2协议的理解
    多线程和单线程的理解
    User Token简单总结
    前端组件开发方法论
    Electron踩坑记录
    2020年工作总结
  • 原文地址:https://www.cnblogs.com/LindaBlog/p/11059874.html
Copyright © 2020-2023  润新知