zoukankan      html  css  js  c++  java
  • git操作笔记

    前言

    以前git用的不多,所以很多操作不清楚,这里记录一些日常遇到的一些问题。问题吧,不记录一下过一段时间又忘了,忘了还得查,麻烦的要死。先记录问题,问题以现象为主。

    题外话,在win平台下使用命令行操作git的时候,最好是使用git bash,如果直接使用cmd或者IDE下的terminal,有可能会出现这样或者那样的小问题。

    问题

    1. 怎么在github上创建一个自己的项目?

    2. 编写完代码后,提交代码到远程仓库的流程?

    3. git add 添加后后悔了,想撤销?

    4. git commit提交后后悔了,想撤销?

    5. 远程分支不想要了,想要删除怎么办?

    6. 远程分支删除后,又想找回来怎么办?

    7. 本地分支被改的乱七八糟,想要重新来怎么办,删掉它重新再拉取一个

    记录

    1. 怎么在github上创建一个自己的项目?

    a. 自己电脑上执行命令ssh-keygen,一路回车,会在用户目录下的.ssh目录中生成两个文件,id_rsa(私钥),id_rsa.pub(公钥)。

    b. 将公钥文件中的内容拷贝到github中,具体路径为:头像-->SSH and GPG keys-->New SSH key,粘贴进去。

    c. github中new一个仓库,填上项目名,点击创建。刷新出来的页面里的操作可以直接粘贴到本地操作,看你喜欢哪一款了。如果是创建一个新的项目,则本地需要先创建一个文件夹,在文件夹所在目录下执行刚才从github中复制的命令。

    2. 编写完代码后,提交代码到远程仓库的流程?

    首先,这个问题下,我平时是命令和ide混用的,我觉得idea/goland用来提交代码也是很方便,尤其是在看代码改动的时候,一边看一边调整也很香。命令也有有点,比如,在文件很多的项目中,新添加了一个文件,但是忘记add了,那么使用ide推送修改到远程的时候,这个文件很容易就会忘记提交,那执行下面的这些命令前先git status看一下改动了什么就不容易忽略掉了。

    a. git add filename/foldername,添加文件/文件夹(暂存区)

    b. git commit -m 'comment',提交刚才添加的众多文件到本地仓库(本地仓库)

    c. git push,将刚才提交的代码提交到远程仓库(远程仓库)

    3. git add 提交后后悔了,想撤销?

    执行git status后看到如下:

     所以可以执行git restore --staged filename/foldername来撤销刚才的add。

    4. git commit提交后后悔了,想撤销?

    在push代码的时候会遇到这样一种情况,在要commit后push前看到一处代码改动有错误,想撤回提交,在IDE里的现象就是本来蓝色的改动文件已经变黑了,但是还没有push到远程,代码只存在与本地仓库中。这时应该使用git reset命令,这个命令用于版本回退。

    git reset [--soft | --mixed | --hard]   分支

    使用git reset的时候需要先明白,是要保留前面commit的代码还是放弃commit的代码,这也涉及到git reset的三个参数。这里参考了文档1。

    a. git reset --hard HEAD^   回退到HEAD分支前的一个分支,commit的修改也全部放弃了,直观上看就是,命令执行完,代码没了。

    b. git reset --mixed HEAD^   回退到HEAD分支前的一个分支,commit的修改保留在文件中,直观上看就是,命令执行完,使用git status看发现修改的文件以红色的形式被列了出来(未add)。--mixed可以不写,为默认。

    c. git reset --soft HEAD^   回退到HEAD分支前的一个分支,commit的修改保留在文件中,直观上看就是,命令执行完,使用git status看发现修改的文件以绿色的形式被列了出来(已add,未commit)。

    5. 远程分支不想要了,想要删除怎么办?

    创建分支的时候手滑了,写错了名字,想删除怎么办?执行下面的命令:

    git push origin --delete 分支名

    6. 远程分支删除后,又想找回来怎么办?

    远程分支如愿删除了,但是又想留着它了该怎么办呢?首先本地分支要留着,我们知道git是分布式版本管理工具,本地的代码留着就相当于代码并没有丢,同步到远程仓库就好了,可以执行下面的命令:

    git push origin --set-upstream  分支名

    查看一下远程仓库,分支回来了,真好。

    7. 本地分支被改的乱七八糟,想要重新来怎么办,删掉它重新再拉取一个

    本地仓库的分支代码被改的乱七八糟,不知道哪里是对的哪里是错的,有时候就想着把这个分支删掉,再重新拉取一遍。或者这个分支就不想要了,删除完远程分支后,本地分支也想删除,可以执行下面的命令:

    git branch -D 分支名

    注意,在执行上面的命令的时候要先切换到其他的分支。好了,现在本地分支已经删除掉了,再执行下命令 git checkout分支名,分支又回来了,真好。

    Updating...

    参考:

    1. https://www.jianshu.com/p/c2ec5f06cf1a


    Shopee(虾皮)内推点击此处,岗位多多地,薪资高高地



    转载请注明出处


  • 相关阅读:
    MSPlus DataList Control(大数据量时的分页演示)
    关于MSPlus控件下载后用VS.NET打开提示目录不对的解决方法
    MSPlus.TabControl V1.1 版本发布
    发布MSPlus TabControl WebControl V1.0.0710 版本
    想开发.Net Server Controls 的初学者必读资料
    K8S学习笔记01
    snmpd服务部署与爆破
    python连接telnet服务
    Telnet协议底层研究及python中telnetlib核心源码分析
    K8S学习笔记03
  • 原文地址:https://www.cnblogs.com/zhangcaiwang/p/14974879.html
Copyright © 2011-2022 走看看