git 命令

1. Git安装

  安装 Git for windows

  https://git-scm.com/download/win

  启动:所有程序 / Git / Git bash

  运行 git --version 显示版本号即安装成功

2. 常用命令

  查看帮助

  git --help

  查看版本

  git --version

  查看配置

  git config --list

  设置初始化名字和邮箱配置

  git config --global user.name "liang.***"

  git config --global user.email "liang.***@qq.com"

  初始化本地 Git 仓库

  1. cd 到新建的目录运行

  2. 有 2 种方式来初始化代码仓库

   创建本地仓库: git init

      克隆远程仓库: git clone https://****/****/****.git

  放弃未 push 的 commit

  git reset --hard (--soft)hard 会重置所有,soft 保留暂存区及未追踪区域

  --hard 十分危险,会抛弃掉工作区的修改和上次提交的内容,建议使用 --soft,先把工作区内容备份,用 --soft 恢复,修改只有再提交

  若不小心 --hard 删除了,采用 reflog 命令恢复

$ git reflog
940f339 (HEAD -> dev_plug_in_unit, origin/dev_plug_in_unit) HEAD@{0}: reset: moving to HEAD~1
315cfe2 HEAD@{1}: reset: moving to HEAD
315cfe2 HEAD@{2}: reset: moving to HEAD
315cfe2 HEAD@{3}: reset: moving to HEAD
315cfe2 HEAD@{4}: reset: moving to HEAD
315cfe2 HEAD@{5}: commit: 插件接口及基础类实现,包含加载器,管理器,插件配置读取方法等

   找到有效的 commit,如上所示 第 {5} 步,执行 $ git reset --hard 315cfe2 即可恢复到这次提交后的位置

 

删除所有未追踪的文件和文件夹:

先查看哪些文件会被删除:

git clean -nxfd

再执行删除:

git clean -xfd

 

查看当前分支 git branch

查看全部分支 git branch -a

创建新分支 git checkout -b offline

创建新分支并从远程拉取 git checkout -b 本地分支名 origin/远程分支名

切换分支 git checkout offline

删除分支 git branch -d offline

删除远程仓库分支 git push '仓库名' --delete '分支名' eg. git push origin --delete offline

有时候远程分支已经修改,本地刷新:git remote update origin --prune

 

新建分支步骤如下:

1. 先在本地建立分支

    git checkout -b offline

2. 把本地分支推送给远程同名分支(自动创建)

    git push origin offline:offline

3. 推送代码到新分支

    git push --set-upstream origin offline

 

save password

git config --global credential.helper store

 

GitHub 采用 SSH 方式

1. 测试当前 ssh 能否连接

    ssh -T git@github.com

2. 成本机 rsa 私钥

    ssh-keygen -t rsa -C "wild-coffee"

    一路回车,会生成目录 C:\Users\Liang.chenglong\.ssh

3. 添加 id_rsa.pub 内容到 GitHub/User/Setting/SSH And GPG : SSH Keys 中

4. 如果之前采用 HTTPS 则需要切换为 SSH,步骤如下

    4.1 删除当前 HTTPS

          git remote rm origin

    4.2 添加 SSH 远程服务器

          git remote add origin git@github.com:xxx/yyy.git

    4.3 把本地分支关联到远程分支上

          git push --set-upstream origin master

 

 

Git 推送多个远程主机

1. 添加新的远程主机

    git remote add xxxx git@github.com:xxx/yyy.git

2. 指定代码要推送的远程主机

    git push xxxx

 

Git bash 中文文件名乱码,比如:

    new file:   "\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"

    需要设置:

    git config --global core.quotepath false

    即可。

    最好同时设置 UTF-8 编码:

    git config --global gui.encoding utf-8

    git config --global i18n.commitencoding utf-8

    git config --global i18n.logoutputencoding utf-8

 

Git 获取指定版本

git checkout b0362a895d39061c0bc6f05c575af47de1b3f702
git checkout b0362a895d39061c0bc6f05c575af47de1b3f702 system/models/a.cs

Git 指向最新版本

git checkout master

 

 

git stash

git stash list :查看当前所有的暂存存放

git stash show : 暂存修改文件列表

git stash show -p : 暂存修改内容

git stash : 暂存当前修改

git stash pop :  恢复最近的一次暂存,并删除该暂存

git stash aply : 恢复最近的一次暂存,不删除

git stash aply stash@{0} : 恢复为指定序号的暂存,不删除

git stash drop stash@{0} : 删除指定序号的暂存

 

git 查看提交内容

git log -5 --stat : 查看最近 5 次提交每次提交的文件变化情况

git show commit : 查看 {commit} 的提交中的所有修改明细

git show commit filename : 查看 {commit} 的提交中,{filename} 的修改明细

 

git diff

git diff filename 查看工作区和暂存目录之间的差异(若没有暂存,则和代码库比较)

git diff --staged filename 查看暂存区和代码库之间的差异

 

git 删除 master 分支所有 commit,截断仓库

1.Checkout

   git checkout --orphan latest_branch

2. Add all the files

   git add -A

3. Commit the changes

   git commit -am "commit message"


4. Delete the branch

   git branch -D master

5.Rename the current branch to master

   git branch -m master

6.Finally, force update your repository

   git push -f origin master

  

posted @ 2020-04-17 09:16  wild-coffee  阅读(156)  评论(0)    收藏  举报