git相关操作 #git 配置 ##配置用户名等 `git config user.name "xxxxx"` ##克隆所有子项目 ``` git clone --recursive ``` ##查看源 ``` git remote -v ``` ##设置新源 ``` git remote add network git@rnd-isourceb.huawei.com:RTOS/network-agent.git ``` ##下载代码 git fetch network ##新建分支 想要新建一个分支并同时切换到那个分支上,你可以运行一个带有 -b 参数的 git checkout 命令: ``` $ git checkout -b iss53 Switched to a new branch "iss53" or $ git branch iss53 $ git checkout iss53 ``` ##删除分支 由于这些分支中还包含着尚未合并进来的工作成果,所以简单地用 git branch -d 删除该分支会提示错误,因为那样做会丢失数据: ``` $ git branch -d testing error: The branch 'testing' is not fully merged. If you are sure you want to delete it, run 'git branch -D testing'. 不过,如果你确实想要删除该分支上的改动,可以用大写的删除选项 -D 强制执行 ## 远程删除 git branch -r -d origin/testing git push origin :testing ``` ##合并分支(一定要给分支取名,否则会丢失!!!) ``` $ git checkout master $ git merge hotfix ``` ##合并commit ``` #111 #222 #333 #三个commit,现在想把 111,222合并 git rebase -i 333 #此时出现: pick 222 pick 111 # 把Pick 111改为 s 111, wq 保存退出 ``` ##冲突 在rebase的时候如果遇到冲突,先解决冲突,然后再次add 修改了的文件。最后执行`rebase --continue` ##回退到上个分支 ``` git reset HEAD^ --hard ``` ## 关闭ssl验证 `export GIT_SSL_NO_VERIFY=1` ## 缓存密码 ``` # windows # git config --global credential.helper wincred # 使用wincred为windows的凭据管理器,需要修改的话开始菜单输入 Credential Manager 打开凭据管理 git config credential.helper 'cache --timeout=300'` ``` ## 忽略已被提交的文件 1. 首先建立 .gitignore 文件 `*.pyc` 2. 清除已提交的文件 `git rm --cached *.pyc` 3. 最后,commit。 ## 强制使用远程覆盖本地分支 ``` git fetch --all git reset --hard origin/master ``` ## 下载远程分支 ``` git fetch --all git checkout -b v3 origin/master ``` ## submodule 更新 ``` git submodule update --init --recursive ``` ## 添加证书 ``` ssh-keygen -t rsa -C "xxxx@yyy.zzz" ``` ## 打tag ``` git tag -a v1.05 -m "增加流式接口" or git tag -a -m "重构,固定入口函数" v2.00 9150621f7f # 推到远程 git push origin --tags ## 删除tag git tag -d v1.05 # 从远程删除 git push origin :refs/tags/v1.05 ``` 来自 大脸猪 写于 2017-01-22 17:08 -- 更新于2020-10-19 13:06 -- 0 条评论