git使用笔记

1、基础操作

1.补交提交代码

git add hello.txt
git commit -m "submit hello all file"
git add heelo_world.txt
git commit --amend

2.取消暂存

git add a.txt b.txt
git reset head a.txt

3.撤销文件修改

git checkout [commit_id] -- a.txt              --没有commit_id就是拉取最新的

4、远程仓库的使用

git remote -v                             --查看已配置的远程仓库的链接
git remote add <short name> <url>         --添加远程仓库
git fetch <remote name>                   --抓取远程仓库数据(上面的short name)
git remote show <remote name>             --查看远程仓库等多信息
git remote rename <old> <new name>        --远程仓库重命名
git remote rm <remote name>               --删除远程仓库

5、回退

git checkout <version> <file or dir>      --回退某个文件或者文件夹到某个版本
git reset --hard head^                    --回退上一个版本 (--hard 不会保修本地修改回退)
git reset --hard <version>
git reset --soft <version>                --Changes to be committed: 
git reset --mixed <version>               --Untracked files (默认)

6、查看不同

git diff --staged -- <filename>           --查看(Changes to be committed)文件的不同
git diff -- <filename>                    --查看(Changes not staged for commit)文件的不同
git diff HEAD -- <filename>               --HEAD HEAD^ .. HEAD~n
git diff OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE
git diff --diff-filter=ACM                --过滤文件.A => 新增, C => 复制, M => 修改, D => 删除, R => 重命名
git diff --cached --name-only             -- 获取add的(暂存)文件有哪些 

7、挑拣提交

git cherry-pick <commit-id> [branchname]         -- 合并某个分支的某次提交h合并到本地分支
git cherry-pick <commit-id> -n                   -- 合并但不提交
git cherry-pick <commit-id> -e                   -- 合并可重新编辑提交信息

8、查看文件

git ls-files --cached                      -- 查看跟踪racked的全部文件(--cached也是默认的)
git ls-files --other                       -- 查看untracked的文件
git ls-files --modifie                     -- 查看已修改的文件(修改、删除)
git ls-files --delete                      -- 查看删除的文件

2、分支操作

git branch                                        --查看分支 *指向当前的分支
git branch <branch name>                          --创建本地分支
git checkout <branch name>                        --切换分支
git checkout -b <branch name>                     --创建并切换分支
git checkout --orphan <branch name>               --创建一个空分支
git checkout -b <branch name> <origin/branch name>--创建并切换分支和跟踪指定远程分支
git merge <branch name>                           --将指定分支的提交合并到当前分支 
git merge --no-commit <branch name>               --不生成合并的commit
git branch -d <branch name>                       --删除分支
git branch -v                                     --查看每个分会的最优一次提交(蛮有用的)
git branch -vv                                    --查看所有跟踪的分支
git branch --no-merged                            --查看哪些分支没有还没有合并到当前分支
git branch --merged                               --查看哪些分支已合并到当前分支 
git brancn --track <origin/branch name>           --当前分支指定跟踪远程分支(1)
git branch --set-upstream-to=origin/master master-backup
git push --set-upstream origin <branch name>      --当前分支指定跟踪远程分支(2)
                                                  --设置当前分支跟踪远程分支
git push origin <branch name>                     --推送远程分支没有则创建
git push origin :<branch name>                    --删除远程分支(1)
git push --delete origin <branch name>            --删除远程分支(2)
git clone -o <origin> -b <branch name> <url>      --远程拉取某个分支的代码

3、tag

git tag -l                                                 --查看tag列表
git tag v1.0.0 -lights                                     --创建轻量标签
git tag -a v1.0.0                                          --附带备注信息(推荐)
git tag -a v1.0.0 bcd4a4fc17a726201564e964d05870875a30b271 --对某个commit打标签(默认HEAD)
git tag -d v1.0.0                                          --删除某个tag
git show v1.0.0                                            --查看标签版本信息
git push origin v1.0.0                                     --推送某个tag到服务器(--tags是所有)
git push origin --tags                                     --推送所有tag
git tag -v  v1.0.0                                         --查看标签信息

4、submodule

git submodule add <url>                    -- 添加一个git项目(子项目)到本地项目
git submodule init                         -- 初始化本地.gitmodules文件
git submodule update                       -- 同步远端的submodule源码
git clone --recurse-submodules <main_project_url>  -- 获取主项目和所有子项目的源码
# 操作子项目源码,只要进入对应的submodule目录下进行操作即可
git submodule foreach '<git commabd>'      -- 批量的管理多个submodule

2、历史操作

git log --oneline                                            --单行显示提交
git log  -- <filename>                             --查看某个文件的修改历史
git log --pretty=format:"%h  %an,%cd : %s"  -- <filename>

选项   说明
%H    提交对象(commit)的完整哈希字串
%h    提交对象的简短哈希字串
%T    树对象(tree)的完整哈希字串
%t    树对象的简短哈希字串
%P    父对象(parent)的完整哈希字串
%p    父对象的简短哈希字串
%an    作者(author)的名字
%ae    作者的电子邮件地址
%ad    作者修订日期(可以用 -date= 选项定制格式)
%ar    作者修订日期,按多久以前的方式显示
%cn    提交者(committer)的名字
%ce    提交者的电子邮件地址
%cd    提交日期
%cr    提交日期,按多久以前的方式显示
%s    提交说明

3、配置设置

git config -l                             #显示所有的配置信息
git config user.name "廖钺焕"              #设置配置信息
git config --unset user.name              #消除设置的配置信息

  简单常识

  1、--   filename                               #指定文件路径

  2、--name-only 和 --name-status   #前者只显示文件清单,后者显示含有增(A)、删(D)、改(M)的文件清单

  常见问题

   1、gitignore不起效

  git update-index --assume-unchanged -- filename

    2、如何导出改变的文件

git archive -o D:/update.zip HEAD $(git diff --name-only OLD_COMMIT_ID NEW_COMMIT_ID)

   3、如何设置代理和取消代理

#### 设置代理
git config --global http.proxy http://127.0.0.1:1111
git config --global https.proxy https://127.0.0.1:1111
git config --global http.proxy socks5://127.0.0.1:1111
git config --global https.proxy socks5://127.0.0.1:1111

#### 取消代理
git config --global http.proxy
git config --global https.proxy

  4、RPC failed; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

git config  --global   hthttp.sslVerify false

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廖钺焕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值