安装Git略过。。。
git连接GitHub:
如果你曾经出现过这种问题,我有一个解决方案
首先,清除所有的key-pair
ssh-add -D
rm -r ~/.ssh
删除你在github中的public-key
重新生成ssh密钥对
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/id_rsa*
接下来正常操作
在github上添加公钥public-key:
1、首先在你的终端运行 xclip -sel c ~/.ssh/id_rsa.pub将公钥内容复制到剪切板
2、在github上添加公钥时,直接复制即可
3、保存
测试:
成功即可,不成功?我也没办法了,哈哈
git操作上传代码到GitHub:
1.切换到superlists路径下:
2.执行git init命令,创建仓库:
git init . #创建仓库
此时就可以使用/e/superlists作为顶层工作目录
3.将某些文件忽略不加入git仓库:
echo "db.sqlite3" >> .gitignore
.
一点标识当前目录
4.将文件纳入版本控制:(
在文件夹中添加文件需要使用git add纳入版本库)
git add . #添加当前目录的文件,
.
一点表示当前目录
5.查看git状态:
git status #查看进展使用这个
6.从git中删除某些文件,并添加到gitignore中:
git rm -r --cached 文件路径/文件夹
git rm -r --cached superlists/__pycache__ #
r表示递归,表示__pycache__目录下的所有内容都会执行删除
echo "__pycache__" >> .gitignore
echo "*.pyc" >> .gitignore
7.提交代码到git仓库
git commit #git commit后会打开Vi编辑窗口,输入提交信息
8.查看状态:
git status
9.执行git diff命令查看上一次提交和当前硬盘中保存内容的差异:
git diff
10.再次提交代码到git仓库
git commit -a # -a的意思是自动添加
已跟踪文件(即已提交的各个文件)中的改动
,不会添加全新的文件,
全新文件需要使用git add命令
手动添加这些文件
11.推送到GitHub
在GitHub添加存储库;
git commit后,已经将数据存储到本地的git数据库了。在GitHub建立一个git仓库,并且让这两个仓库进行远程同步:
- 首先在GitHub中Create new Repository,注意名称、路径要和本地git仓库一样(例如是:abc);
- 在本地git仓库运行命令关联用户名是liyueliyue的GitHub:git remote add origin [email protected]:liyueliyue/abc.git;
- 把本地git仓库的数据push到已经关联的GitHub账户上:git push -u origin master;
- git push实际是把当前分支master推送到远程,第一次push需要使用-u,git不但会把本地的git仓库的master数据推送到远程的master,还会把本地的master分支和远程master分支关联起来,在以后推送或拉去简化命令;
- 从现在开始只要本地作了提交就可以通过命令:git push origin master
总结:
- 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
- 关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
- 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
在GitHub新建存储库增加readme.txt文件后,直接push会报错,因为本地git仓库没有readme.txt文件,解决方法是:
- 先进行代码合并pull = fecth + merge:git pull --rebase origin master,在本地会看到readme.txt文件了;
- 再执行git push -u origin master即可;
创建分支和合并分支
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840038939c291467cc7c747b1810aab2fb8863508000
创建分支:git branch dev(分支名);
切换分支:git checkout dev;
git checkout -b dev(checkout 加-b参数是创建分支并且切换到新建的分支)
查看当前的分支:git branch
在新分支上提交内容:修改数据文件,git commit ;
推送到GitHub的dev分支:
git psuh origin dev
,此时GitHub上该仓库多一个dev分支,再选择手动合并到master;
或者:
把dev分支包容合并到master,再push到GitHub的master:
先切换到master:git checkout master;
git meger dev ,
合并指定分支到当前分支,当前已经切换到maser了;
删除分支:git branch -d dev