git相关操作

关于git的个人理解:https://www.cnblogs.com/qingshan-tang/p/12618556.html 

文章导读

  1. git clone带用户名密码拉取
  2. idea配置及使用git
  3. mac查看git安装目录
  4. 分支相关
  5. git push推送
  6. 撤回操作
  7. .gitignore忽略


1.git clone带用户名密码拉取

git clone http://username:password@remote
eg: username:  abc@qq.com, pwd: test, git地址为git@xxx.com/test.git
git clone http://abc%40qq.com:test@git@xxx.com/test.git
注意:用户名密码中一定要转义 @符号转码后变成了%40

 

2.idea 配置及使用git

参考:https://www.cnblogs.com/pejsidney/p/9199115.html

 

3.mac查看git安装目录

which git

 

4.分支

注意!!!以下所有的远程分支概念都不是真正的远程库,而是本地远程库副本。最好所有操作之前都git fetch一下 更新远程库副本。

4.1 查看本地分支

  git branch -vv  (-vv :显示分支指向hash和上游分支名)

4.2 查看远程分支 

  这个远程分支并不是真正的远程,而是本地远程库副本的分支。如果要查看真正的远程,要先git fetch

  git branch -r -vv 

4.3 查看所有分支

  git branch -a -vv

4.4 从远程拉取某分支到本地远程库副本

  这个其实就是对某个分支进行git fetch

  git fetch origin <分支名>

4.5 将本地远程库副本的某分支检出到本地库某分支

  git checkout -b <本地库分支名>   <本地远程库副本分支名>

 

5.git push推送

  分支状态:

   

 

下表得出结论:

  1. 本地分支名最好和远程分支名一致,这样可以直接使用git push,很方便。不然的话要把本地分支名和远程分支名都写上 --> git push origin <本地分支>:<同名远程分支> 
  2. 不要向非关联的远程分支push,要不然会报错。最好使用merge合并两个分支。
  git push git push origin
git push origin <本地分支> 
git push origin <本地分支>:<远程分支> 
git push origin <本地分支>:<非关联远程分支> 
分支关联且名称相同 
push成功—>prd3 push成功—>prd3 push成功—>prd3 push成功—>prd3 push失败—>
报错分支版本滞后
分支关联 
push失败—>
提示: 
push失败—>
提示:
push成功—>
但是在远程新创建了一个与本地同名的分支,然后push到这个分支中 
push成功—>prd1
push失败—>报错分支版本滞后

 

 6.撤回操作

  6.1.撤回add操作

    1.1 git reset HEAD 撤回所有文件

    1.2 git reset <fileName> 撤回单个文件

    1.3 git reset --hard HEAD 用本地库覆盖暂存区和工作区,慎用!!会导致本地所有更改被覆盖

      这里最好深入理解git reset 的hard mixed soft三个级别,可参考 https://www.cnblogs.com/kidsitcn/p/4513297.html 的评论

      但是git reset --mixed HEAD 暂存区并不会丢失,暂存区中的数据会回退到工作区。

      https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

      

 

 

 

 

 

7..gitignore忽略

  新建一个 .gitignore文件放在 .git文件夹同级别目录用来禁止git跟踪。

  

 

8.将本地新建分支推到远程

git push origin develop

 

 

 

 

 

  

 

 

 

 

相关命令

git checkout 
作用一:放弃为add进暂存区文件的修改(不包含新增)
            单个文件:git checkout ${fileName}
            所有文件:git checkout .
作用二:切换分支
     git checkout ${branchName}

git reset
作用一:撤销add操作,相当于回退到add之前的状态
    撤销所有add文件:git reset HEAD .
    撤销单个add文件:git reset HEAD ${fileName}

作用二:撤销所有add操作以及放弃所有变更修改
    git reset --hard HEAD

 

posted @ 2020-03-31 10:00  青衫执卷  阅读(167)  评论(0编辑  收藏  举报