企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
git 查看天 curl [wttr.in/xiamen](qq://txfile/#) ***** **升级:** 1.打开[Epel-release](https://link.segmentfault.com/?enc=qr2EIlv7AkSinX9wx4gVgw%3D%3D.NPUBGgvcZzOgmTndP7KBoeXCcsQigHnzEtvwxCcPhP7YlEvyLLplKAp4yw0jh%2BMSQnZjq9%2Fx1eLxhFRF9rb%2Bnsw2fHf0c8X%2FB595cBMybZM%3D)搜索git,并用yum安装rpm包 ~~~awk yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm ~~~ 2.安装即可 ~~~cmake yum install git ~~~ ***** 查看月相。 curl wttr.in/moon 查找 commit 提交的关键字 git log --grep 版本号变更 git log --grep=word git log --author=word BUG分支 git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作 git stash list 查看stash git stash apply 恢复现场 git stash drop 删除保存的stash git stash pop 恢复并删除stash git stash apply stash@{0} 多次stash,恢复指定的stash [https://github.com/k88hudson/git-flight-rules/blob/master/README\_zh-CN.md](https://github.com/k88hudson/git-flight-rules/blob/master/README_zh-CN.md) git init                                             初始化 git config user.name "test"            配置用户名 git config usre.email "test@qq.com"         配置用户邮箱 git status                                         查看状态 git add a.txt                                     添加,有工作区到暂存区 git commit a.txt                               提交, 由暂存区到版本区 git log                                              查看日志 git log -1                                          查看最近一次提交的日志 git log -2                                          最近两次 git log --oneline                               以一行显示 git log -l -p                                      查看具体提交信息 git log --pretty=oneline git log --pretty=oneline --abbrev-commit git commit -am 'ceshi' add commit 组合 git push                                           仓库地址   从本地到远程仓库 git pull                                              从远程仓库到本地 git clone                                           从远处仓库克隆一个到本地 git diff                                              比较工作区与缓存区之间的差别 git diff --cached                              比较缓存区与版本之间的差别 git diff HEAD                                    比较工作区与版本库之间区别 git   checkout                                   取出历史版本 [https://www.cnblogs.com/smuxiaolei/p/7484678.html](https://www.cnblogs.com/smuxiaolei/p/7484678.html) //git 回退版本号处理 第一种是:git reset  --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset  --hard HEAD~100 即可。未回退之前的readme.txt内容如下: 第二种 git reset  --hard HEAD^ ^ 以此类推 第三种 git reset  --hard HEAD~100 第四种 git reset  --hard 版本号 git reset  --hard 版本号 ,但是现在的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增加3333内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog  演示如下: 第五种 git reflog 在执行 git reset  --hard 版本号 三:理解工作区与暂存区的区别?   工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。   版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。   我们前面说过使用Git提交文件到版本库有两步:   第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。   第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。   我们继续使用demo来演示下:   我们在readme.txt再添加一行内容为4444444,接着在目录下新建一个文件为test.txt 内容为test,我们先用命令 git status来查看下状态,如下: ![](C:/Users/Administrator/AppData/Local/YNote/data/qq687938EA3FCF98736CBB3342CDC12736/ed016481694a4dce88d8c7a90c51b353/clipboard.png) 现在我们先使用git add 命令把2个文件都添加到暂存区中,再使用git status来查看下状态,如下: ![](C:/Users/Administrator/AppData/Local/YNote/data/qq687938EA3FCF98736CBB3342CDC12736/06fdbe7a42d843b6a10203ea498f09f2/155323068088.png)   接着我们可以使用git commit一次性提交到分支上,如下: ![](C:/Users/Administrator/AppData/Local/YNote/data/qq687938EA3FCF98736CBB3342CDC12736/3bc52224d1c4495c931b6b70e97bbb60/155323704968.png) 三 Git 编辑撤销处理 1.未添加到缓冲区 2.已添加到缓冲区 注意:命令git checkout -- readme.txt 中的 -- 很重要,如果没有 -- 的话,那么命令变成创建分支了。 总结   Git基本常用命令如下:   mkdir:         XX (创建一个空目录 XX指目录名)   pwd:          显示当前目录的路径。   git init          把当前的目录变成可以管理的git仓库,生成隐藏.git文件。   git add XX       把xx文件添加到暂存区去。  git commit –m “XX”  提交文件 –m 后面的是注释。   git status        查看仓库状态   git diff  XX      查看XX文件修改了那些内容   git log          查看历史记录   git reset  --hard HEAD^ 或者 git reset  --hard HEAD~ 回退到上一个版本   (如果想回退到100个版本,使用git reset –hard HEAD~100 )   cat XX         查看XX文件内容   git reflog       查看历史记录的版本号id   git checkout -- XX  把XX文件在工作区的修改全部撤销。   git rm XX          删除XX文件   git remote add origin [https://github.com/tugenhua0707/testgit](https://github.com/tugenhua0707/testgit) 关联一个远程库   git push –u(第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库   git clone [https://github.com/tugenhua0707/testgit](https://github.com/tugenhua0707/testgit)  从远程库中克隆 git checkout –b dev  创建dev分支 并切换到dev分支上 git branch  查看当前所有的分支   git checkout master 切换回master分支   git merge dev    在当前的分支上合并dev分支   git branch –d dev 删除dev分支   git branch name  创建分支   git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作   git stash list 查看所有被隐藏的文件列表   git stash apply 恢复被隐藏的文件,但是内容不删除   git stash drop 删除文件   git stash pop 恢复文件的同时 也删除文件   git remote 查看远程库的信息   git remote –v 查看远程库的详细信息  git push origin master  Git会把master分支推送到远程库对应的远程分支上 //创建本地分支 并切换 git checkout –b dev  创建dev分支 并切换到dev分支上 //删除本地分支 git branch -d $ git checkout -b 新切的本地分支名 origin/v0.9rc1 #从远程分支拉取 到本地分支 git checkout -b 本地分支名称 origin/远程分支名称 git创建远程分支命令步骤: 1、git branch 查看下当前分支      2、git branch \*\*\*(分支名称)   3、git push origin \*\*\*(分支名称)  其他的Cimmit,push操作都可以在IDEA界面化操作 git创建远程分支 git push --set-upstream origin 分支名称 //提交到远程 的dev 分支 $ git push origin HEAD:dev 方法是找到历史提交的commit id,然后打上就可以了: $ git log --pretty=oneline --abbrev-commit GIT 导出两个版本之间变动的文件 git archive --format=zip HEAD `git diff --name-only 新的commit 旧的commit` > a.zip git diff f973239da8 c51d8ac78e8 --name-only | xargs zip -r ~/20190213-update4 比较两个版本之间变动的文件 git diff 456bcb 93593a --name-only 想要忽略掉 logs 文件夹下所有的日志文件,但是想保留 logs 文件夹以保持项目文件夹结构的完整性。可以在 logs 文件夹里新建 .gitignore 文件,文件内容如下: 1. \# ignore all except .gitignore file 2. \* 3. !.gitignore git pull : //取回远程主机某个分支的更新,再与本地的指定分支合并。 git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支 git diff tmp //將當前分支和tmp進行對比 git merge tmp //合并tmp分支到当前分支 [git删除远程分支和本地分支](https://www.cnblogs.com/luosongchao/p/3408365.html) (1)删除远程分支  如上所示,使用命令 git push origin --delete Chapater6   可以删除远程分支Chapater6(分支名)            再次使用命令 git branch -a   可以发现,远程分支Chapater6已经被删除。 (2)删除本地分支            使用命令,git branch -d Chapater8 可以删除本地分支(在主分支中) //小黑屋祖传代码 Git Commands 开始使用git 设置用户名 全局配置 git config --global user.name "linjinkun" git config --global user.email "380993970@qq.com" 解决重复输入用户名密码 1\. 在终端下执行    git config --global credential.helper store 2\. 可以看到~/.gitconfig文件,会多了一项:   \[credential\]     helper = store 创建仓库(当前目录) git init 添加文件 git add 添加指定文件 git add . 添加所有改变的文件 注:如果add后又修改了文件,还要再add一次之后再commit 提交 git commit -m "提交说明" 查看状态 git status 查看修改 git diff 查看单个文件的更改 git diff 查看所有文件的更改 查看历史提交 git log git log --pretty=oneline 一次提交显示为一行 git blame 查看一个文件的修改记录(谁在什么事件修改了什么) 查看历史命令 git reflog 版本控制 版本回退 git reset --hard HEAD 撤销所有未提交的操作,包括add git reset --hard HEAD^ 回退到上一个版本 git reset --hard HEAD^^ 回退到上两个版本 git reset --hard HEAD~100 回退到上100个版本 git reset --hard 回退到指定版本 git checkout -- 丢弃工作区的修改,如果文件add到了暂存区又做了修改,则恢复到暂存区,否则恢复到版本库的状态,如果文件删除了,则回复到版本库的文件 git reset HEAD 把暂存区的修改撤销掉,重新放回工作区 注: 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout -- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令 git reset HEAD ,就回到了场景1,第二步按场景1操作 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库 删除/重命名 git rm 删除文件,尽管文件已经添加到暂存区(add) git rm --cached 把文件从版本库、暂存区删掉,但是保留硬盘文件 git mv 重命名文件 远程仓库 创建ssh密钥 ssh-keygen -t rsa -C "youremail@example.com" 注:一路回车,在用户主目录里找到.ssh目录,里面有id\_rsa和id\_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id\_rsa是私钥,不能泄露出去,id\_rsa.pub是公钥,可以放心地告诉任何人,复制内容,在github上添加 远程仓库 git remote add origin git@github.com:michaelliao/learngit.git 关联远程仓库,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库 git push -u origin master 我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 git push origin master 把本地master分支的最新修改推送至GitHub git clone git@github.com:michaelliao/gitskills.git 从远程仓库克隆,Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin git remote 查看远程库的信息 git remote -v 查看远程库的详细信息 git push origin master 推送远程分支,就是把该分支上的所有本地提交推送到远程库 git pull 从远程库拉取 git checkout -b origin/ 创建远程origin的branch分支到本地 git branch --set-upstream origin/ 指定本地dev分支与远程origin/dev分支的链接 git push origin --delete 删除远程分支 分支管理 创建分支 git checkout -b 创建分支并切换过去,相当于执行了 git branch 和 git checkout git branch 查看当前分支 git checkout 切换分支 git merge 合并分支到当前分支,有冲突修改后再add、commit git merge --no-ff -m "合并信息" 禁止快速合并 git branch -d 删除分支 git branch -D 强行删除分支(未合并的分支) BUG分支 git stash 把当前工作现场“储藏”起来,等以后恢复现场后继续工作 git stash list 查看stash git stash apply 恢复现场 git stash drop 删除保存的stash git stash pop 恢复并删除stash git stash apply stash@{0} 多次stash,恢复指定的stash 标签管理 创建标签 git tag 创建标签 git tag 查看所有标签 git tag 在指定的版本版本id打标签 git show 查看标签信息 git tag -a -m "说明" 创建带有说明的标签 操作标签 git tag -d 删除标签 git push origin 推送某个标签到远程仓库 git push origin --tags 一次性推送全部尚未推送到远程的本地标签 git push origin :refs/tags/ 删除远程标签(删除远程标签之前要先删除本地标签) 导出 git archive -o /d/www/update.zip HEAD $(git diff HEAD HEAD^ --name-only) 导出和上个版本差异的文件 git archive -o /d/update/project.zip master -0 导出纯净项目源码 git config core.quotepath false 如果导出的文件有中文显示成Unicode导致导出失败,配置这个 其他配置 git config core.gitproxy=socks5://127.0.0.1:1080 设置socket5代理 git config core.filemode false 忽略文件权限差异 3.查看分支时间 和分支状态 git reflog show --date=iso 分支名 git 对比两个分支差异 ![](C:/Users/Administrator/AppData/Local/YNote/data/qq687938EA3FCF98736CBB3342CDC12736/1fe51c2678384fc1bf22c8470190f111/a4f21c40998.jpeg) [笨笨翔](https://www.jianshu.com/u/db9978035875)关注 2018.10.13 10:16 字数 227 阅读 417评论 0喜欢 0 1\. 显示出branch1和branch2中差异的部分 git diff branch1 branch2 --stat 2\. 显示指定文件的详细差异 git diff branch1 branch2 具体文件路径 3\. 显示出所有有差异的文件的详细差异 git diff branch1 branch2 4\. 查看branch1分支有,而branch2中没有的log git log branch1 ^branch2 5\. 查看branch2中比branch1中多提交了哪些内容 git log branch1..branch2 注意,列出来的是两个点后边(此处即dev)多提交的内容。 6\. 不知道谁提交的多谁提交的少,单纯想知道有是吗不一样 git log branch1...branch2 7\. 在上述情况下,在显示出没个提交是在哪个分支上 git log --lefg-right branch1...branch2 注意 commit 后面的箭头,根据我们在 –left-right branch1…branch2 的顺序,左箭头 表示是branch2的。