如何使用github
假设你的邮箱地址是:tom@gmail.com
假设你在gitHub上的用户名是:Tomas。
详细命令参见git官网:https://git-scm.com/
1,在本机生成密钥
如果已经生成并配置,跳过此步骤
ssh-keygen -t RSA -b 4096 -C "tom@gmail.com"
成功的话会在~/下生成.ssh文件夹,id_rsa.pub文件里面的内容就是key,全选并复制
到github上AccountSetting->SSH Keys,点击Add SSH keys,将复制的内容粘贴进去,Title可自定义。
2,在本机建立仓库并提交代码
假设你的本地需要上传的代码是:MyCodeToSubmit
在gitHub上新建一个repositories,名字也叫MyCodeToSubmit
进入本机的MyCodeToSubmit的目录:
touch README.md //新建说明文件
git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
git add . //添加当前目录中的所有文件到索引
git commit -m "first commit" //提交到本地源码库,并附加提交注释
git remote add origin git@github.com:Tomas/MyCodeToSubmit //添加到远程项目,
git push -u origin master //把本地源码库push到github的远程项目中,确认提交
3,在本机更新代码
假设你在gitHub上已经有了一个工程:MyCodeToUpdate
新建一个文件夹用于更新这个代码
git init //在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
git remote add origin git@github.com:Tomas/MyCodeToUpdate //添加到远程项目,别名为originUpdate
git pull origin master
4,切换分支
-
创建分支br1,br2
git branch -b br1
-
删除分支br1
git branch -d br1 -
切换到远程分支rebr
git checkout -b rebr origin/rebr
5,解决冲突常用命令
一般冲突提示为:The following untracked working tree files would be overwritten by checkout
5.1 默认处理流程
修改有冲突的文件内容,再git add
、git commit
。
如果是git pull --rebase
带来的冲突,解决完成之后,需要git rebase --continue
5.2 重置 git clean
用于将未track的文件删除,参看原文档:https://git-scm.com/docs/git-clean
1 | # 仅展示哪些文件将要删除, |
一般使用git clean -n
和git clean -f
5.3 重置 git reset
用于将已track的改动还原,参看原文档:https://git-scm.com/docs/git-reset
1 |
|
6,多个key分渠道的指定
touch ~/.ssh/config
chmod 600 ~/.ssh/config
修改config文件
Host bitbucket.org
IdentityFile ~/.ssh/huijia
User git
Host oschina.net
IdentityFile ~/.ssh/raist_id_rsa
User git
7,代理
7.1 基于ssh方式
修改Config文件:
1 | Host github.com |
127.0.0.1:7890
换成你的代理ip和端口即可。
7.2 基于http方式
1 | git config http.proxy http://127.0.0.1:7890 |
取消http代理:
1 | git config --unset http.proxy |