#用户名以及邮箱设置
git config --global user.name your_github_name
git config --global user.email your_github_email
// 查看
git config user.name
1
2
3
4
2
3
4
#从 master 分支创建 dev 分支并切换到 dev 分支
git checkout -b dev
1
相当于下面两条语句
git branch dev
git checkout dev
1
2
2
#查看分支
git branch
: 查看本地分支 *表示当前分支git branch -a
: 查看远程全部分支 白色本地存在,红色本地不存在git branch -r
: 查看远程分支
#分支合并(将 dev 合并到 master)
git checkout master
git merge dev
1
2
2
#删除分支
git branch -D dev
1
#本地同步远程的分支
git fetch origin -p
1
#把本地的仓库推到空的 github 仓库上
git remote add origin git@github.com:githubname/repositoriesname.git
// 第一次提交时需要加上`-u`
git push -u origin master
1
2
3
2
3
#提交代码的步骤
git status // 查看文件改动
git add . // 把变化的所有文件放入缓冲区
git commit -m "some messages" // -m后面输入的是本次提交的说明
git push origin master
1
2
3
4
2
3
4
#回退
- 撤销
git status
命令使用git reset HEAD filename
或者git rm --cached filename
- 回退到某个版本(不会删除之前的提交)
git revert git_log_name
或者git checkout git_log_name
- 回退上一版本
git reset --hard HEAD
- 回退指定版本
git reset --hard 版本号
{% note warning %}
使用git reset
时要特别注意,因为它会销毁之前的提交数据,如果只是想回退到某个状态,请使用git revert git_log_name
{% endnote %}
#查看以往版本号(本地)
git reflog
1
#查看各版本号及信息(个人和他人)
git log
1
git log
命令显示从最近到最远的提交日志- 如果看着太繁琐,可以使用
git log --pretty=oneline
或者更简洁的git log --oneline
#撤销修改
- 在
git commit -m
前使用git checkout -- filename
来撤销修改
#对于已经 push 的版本回退
git reset --hard 版本号
git push -f origin dev
1
2
2
#查看文件修改内容
git diff filename
1
#解决冲突
删除冲突代码,然后使用git commit
,按下Shift + ;
键,然后输入wq
,最后按下Enter
键
#git推到github失败解决措施
#解决措施1
- 打开windows目录下
C://Windows/System32/drivers/etc
- 修改hosts文件
#github
#192.30.253.112 github.com
#151.101.185.194 github.global.ssl.fastly.net
1
2
3
2
3
#远程仓库相关
git remote -v
:查看远程仓库git remote rm origin
: 删除远程仓库git remote add origin
: 新增远程仓库
#fork同步分支
git remote add upstream https://xxx
git fetch upstream
git merge upstream/master
git push
#克隆需要的类型定义包
注意:需要git版本2.27.0及以上,该方法来自DefinitelyTyped(opens new window)
git clone --sparse --filter=blob:none --depth=1 <forkedUrl>
--sparse
告知 git 使用 sparse-checkout 方式,所以首次克隆的只有根部的文件。--filter=blob:none
将排除文件,只在需要时获取它们。--depth=1
可以通过阶段提交历史来进一步提高克隆速度,不过它可能会导致一些问题,见:here(opens new window).
git sparse-checkout add types/<type> types/<dependency-type> ...
#取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy
1
2
2
#设置代理
git config --global https.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
1
2
3
2
3
#设置ss
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
1
2
3
2
3