2020-07-23 常用git命令, Zsh插件

一,常见命令整理

    1)git clone xxx:将远程git分支文件下载到本地

    2)git checkout dev:切换到dev分支

    3)git branch:查看当前的git分支状态

    4)git add . :将文件夹下的文件夹及文件添加到git的暂存区

    5)git commit -m "备注信息在这填写":将本地的缓存及未提交文件提交到版本库

    6)git push:将版本库的内容提交到远程分支

    7)git reset --hard HEAD^:回退到版本库的上一个版本

    8)git reset --hard 版本号:回退到版本库的指定版本号

    9)git status:可以显示分支冲突时冲突在哪里

    10)git fetch:将远程分支拉取到版本库

        说明:git pull和git fetch的区别
image
    11)git merge dev:合并dev的内容到本地来,如果是忽略分支,则是合并当前版本的内容到本地来

    12)git diff:查看开发库的代码冲突文件(查看文件后,需要手动合并<<<<<< ============>>>>>>>>>>中的代码内容)

    13)git log:查看commit日志()

        说明:查看git log中,对应commit的哈希值,结合git reset --hard commit_id,可以回退到对应的commit的内容

    14)git reset --mixed:不带任何参数的git reset,即会回退到某个版本,只保留源码,回退commit和index(暂存库)信息

    15)git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级,如果还要提交,直接commit即可

    16)git reset --hard:彻底回退到上一个版本(后加版本号可以回退到固定版本),本地的源码也会变为上一个版本内容

二,git stash暂存命令:

(1)git stash save "save message"  : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

(2)git stash list  :查看stash了哪些存储

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}

(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show  stash@{$num}  -p ,比如第二个:git stash show  stash@{1}  -p

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1} 

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储

(8)git stash clear :删除所有缓存的stash

三,在Git-Fork-请求PR

1.  在github页面上, 点击fork按钮, 将B的项目拷贝一份到自己的代码仓库中.

2.  克隆自己的代码仓库到本地.
    $ git clone -b feature/1.0 [https://github.com/A/A.git](https://link.jianshu.com?t=https%3A%2F%2Fgithub.com%2FA%2FA.git)

3.  将源项目与自己的仓库进行关联(upstream 是上游仓库的别名,别名随意命名)
    $ git remote add upstream [https://github.com/B/B.git](源仓库地址)

4.  列出当前为复刻配置的远程仓库.
    $ git remote -v
    $ git branch -a -vv 列出全部分支

5.  暂存已经编辑的目录和文件.
    $ git add .
    $ git stash
    $ git push

6.  拉取B仓库的新代码
    $ git fetch upstream

7.  将源仓库新的部分合并到A的代码仓库中, 使自己的的代码仓库变成最新的代码.
    $ git merge upstream/main

8.  查看分支,确保在自己的本地分支上
    $ git branch

9.  如果不在本地分支,则执行 git checkout master ,如果在则忽略此步骤

10.  将刚刚暂存的代码合并到现在最新的代码中.
    $ git stash pop
    $ git stash apply stash@{0} (同时删除stash )

11.  本地提交代码.
    $ git add .
    $ git commit -m 提交代码的注释信息

12. 将源仓库新分支推送到自己的仓库,并确定上传流为自己的仓库
     $ git push origin develop:develop -u

13.  在A的github仓库页面上,点击pull request向B发起PR请求.



如上是第一次进行fork、克隆代码、创建关联、修改代码提交等操作
当再次本地修改代码提交时,执行步骤6-11即可


四,只设置拉取仓库和提交仓库:

1. git remote set-url origin 原始仓库
2. git remote set-url --push origin 自己的仓库
添加远程仓库:
1. git init
2. git remote add origin 远程仓库

git 合并忽略文件配置

1. 创建自定义merge driver
  git config --global merge.ours.driver true

2. 在要被merge的分支上创建.gitattributes文件,并且在文件中置顶不merge的文件名
`
  echo 'index.php merge=ours' >> .gitattributes
  git add .gitattributes
  git commit -m 'chore: Preserve index.php during merges'  //只是为了commit代码,可以
`

3. 回到要合并到的分支master,执行merge:
  git merge dev

五,git 账号密码配置:

1.设置git用户名、密码、邮箱的配置(全局配置)

查看配置:git config --list

本地配置:
git config user.name 用户名
git config user.password 密码
git config user.email 邮箱
全局配置:
git config --global user.name 用户名
git config --global user.password 密码
git config --global user.email  邮箱

2、执行保存账号命令

保存本地仓库的账号(推荐)
git config --local credential.helper store
保存git全局账号
git config --global credential.helper store

3,清除掉缓存在git中的用户名和密码

git credential-manager uninstall 和 git config --system --unset credential.helper

mac安装homebrewd地址?

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

node版本管理工具N

npm i n -g

node.js旧版本下载:

http://nodejs.org/dist/

Zsh配置和插件:

Oh My Zsh配置和插件 终端神器Li.007

你可能感兴趣的:(2020-07-23 常用git命令, Zsh插件)