关于git:Git-使用技巧

50次阅读

共计 3766 个字符,预计需要花费 10 分钟才能阅读完成。

间接提交以后分支

git add . && git commit -m‘评估测试’&& git pull origin `git branch | sed -n "/\* /s///p"` && git push origin  `git branch | sed -n "/\* /s///p"`

coding 没有配置 ssh, 应用账号密码 clone

git clone http://yourname:password@git…. https 上传 o

创立分支

http://blog.csdn.net/guang11c…

操作分支

https://www.liaoxuefeng.com/w…

分支合并

https://www.cnblogs.com/mengd…

精品 git 操作流程

https://blog.csdn.net/zzh9206…
版本回退

git log –pretty=oneline 查看
git branch —–>git checkout —-> git reflog —> git reset –hard HEAD@{0}

删除近程分支 git branch -r —->git branch -r -d

清空缓存 能够让暂存区的文件删除了 .gitignore

git rm -r –cache .

常见问题

git merge origin/master –allow-unrelated-histories

第一次 pull 不合并

git pull origin master –allow-unrelated-histories

两个没有相干历史的库 首次提交更新代码

切换分支并创立分支 拉取近程 dev 分支

git checkout -b dev origin/dev

例如在 master 分支执行 拉去 dev 分支合并到 master 分支

git merge dev

git status 查看以后分支的状态

git checkout — 文件名字 撤销以后批改的文件

git rm text.txt 删除暂存区的文件

git push -u origin master 第一次推送内容到近程分支时候

- u 参数代表 把本地的 master 推送到近程 master 上, 并把本地 master 和近程 master 关联起来
修复 bug 时,咱们会通过创立新的 bug 分支进行修复,而后合并,最初删除;
当手头工作没有实现时,先把工作现场 git stash 一下,而后去修复 bug,修复后,再 git stash pop,回到工作现场。
git rm .env.production –cached 删除暂存区的文件

2.2. 不额定建设本地分支
代码展现
// 查问以后近程的版本
$ git remote -v
// 获取最新代码到本地(本地以后分支为[branch],获取的远端的分支为[origin/branch])
$ git fetch origin master  [示例 1:获取远端的 origin/master 分支]
$ git fetch origin dev [示例 2:获取远端的 origin/dev 分支]
// 查看版本差别
$ git log -p master..origin/master [示例 1:查看本地 master 与远端 origin/master 的版本差别]
$ git log -p dev..origin/dev   [示例 2:查看本地 dev 与远端 origin/dev 的版本差别]
// 合并最新代码到本地分支
$ git merge origin/master  [示例 1:合并远端分支 origin/master 到以后分支]
$ git merge origin/dev [示例 2:合并远端分支 origin/dev 到以后分支]

ssh-keygen -t rsa -C "2233xxx112@qq.com"

间接推送以后所在的分支

命令 git tag -a v0.1.0 -m “release 0.1.0 version” 创立附注标签。

git 应用标签
git tag -l  查看 tag
git tag -d 删除 tag
git push origin --tags 推送本地的所有标签
git push origin tag 名称 推送指定的标签
git show tag 名称   查看标签

stash 应用

### 将所有未提交的批改(提交到暂存区)保留至堆栈中
$ git stash 
### 给本次存储加个备注,以防工夫久了忘了
$ git stash save "存储"
### 存储未追踪的文件
$ git stash -u
### 查看存储记录
$ git stash list
在 Windows 上和 PowerShell 中,须要加双引号
### 复原后,stash 记录并不删除
$ git stash apply "stash@{index}"
### 复原的同时把 stash 记录也删了
$ git stash pop "stash@{index}"
### 删除 stash 记录
$ git stash drop "stash@{index}"
### 删除所有存储的进度
$ git stash clear
### 查看以后记录中批改了哪些文件
$ git stash show "stash@{index}"
### 查看以后记录中批改了哪些文件的内容
$ git stash show -p "stash@{index}"

git 合并代码额定操作

git pull origin master
git pull --rebase origin master  ### 拉取 master 的代码,合并到本地(应用 rebase)这里能够应用 git pull origin master 或者是 git pull --rebase  origin master,这里 pull 是 fetch+merge 的操作,git pull --rebase 是 fetch+rebase 的操作。rebase 和 merge 都是合并代码,他们次要区别是 merge 是一股脑的合并代码,并且在发生冲突解决后会要提一条 commit,而 rebase 是变基操作,它解决抵触后不会产生多余的 commit 记录,这保障了分支的整洁和好看。不过合并时多个 commit 有抵触的时候,rebase 会一个一个的解决,在这种状况下会比拟麻烦。这两种操作视状况应用。merge 如果发生冲突就应用 git status 查看抵触的文件,批改后间接 git add . 而后 git commit -m '****',而后 git push 提交

rebase 如果发生冲突就应用 git status 查看抵触的文件,解决完所有的抵触后,git add .,而后 git rebase --continue 持续合并,而后 git push 提交(留神如果应用 rebase 的形式的话,批改后提交不必 commit)

https://git-scm.com/book/zh/v… git submodule 应用

拉取含有子模块的代码

git clone –recurse-submodules https://github.com/chaconinc/…

git 下载 github 代码慢问题

肯定是应用 ssr 的状况下

去本人的电脑的网络管理查看 socks5 查看代理端口 而后执行

走 HTTP 代理

git config --global http.proxy "http://127.0.0.1:1087"
git config --global https.proxy "http://127.0.0.1:1087"

走 socks5 代理(如 Shadowsocks)

git config --global http.proxy "socks5://127.0.0.1:1086"
git config --global https.proxy "socks5://127.0.0.1:1086"

只针对 github 做代理

# socks5
git config --global http.https://github.com.proxy socks5://127.0.0.1:1086
git config --global https.https://github.com.proxy socks5://127.0.0.1:1086
# http
git config --global http.https://github.com.proxy https://127.0.0.1:1087
git config --global https.https://github.com.proxy https://127.0.0.1:1087

只配置单个我的项目下 git 配置

进入到我的项目的.git 文件外面
例如:git config 不加 --global  http.https://github.com.proxy https://127.0.0.1:1087

SSH 模式

批改 ~/.ssh/config 文件(不存在则新建):

ProxyCommand nc -x localhost:1086 %h %p

查看配置

git config –global –list

批改配置

git config –global –edit

勾销设置

git config --global --unset http.proxy
git config --global --unset https.proxy

iterm2 外面应用 在.zshrc 外面退出 source ~/.zshrc

应用 curl myip.ipip.net 测试本人的 ip 是否变了

alias proxy="export ALL_PROXY=socks5://127.0.0.1:1086"
alias unproxy="unset ALL_PROXY"

本文由博客一文多发平台 OpenWrite 公布!

正文完
 0