总结:
github是什么?怎么在github上创建一个仓库? 通过Git进行版本控制的软件源代码托管服务平台 New repository怎么把github上自己创建的仓库克隆到本地?创建一个新仓库(勾选Initialize this repository with a README)
克隆一个本地库 git clone git@github.com:github用户名/gitskills.git
为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
mkdir learngit 创建文件夹
vi readme.txt 创建并编辑txt文件
cat readme.txt 查看文件内容
git init 把目录变成Git可以管理的仓库
git add xxx 告诉Git把文件添加到仓库
git rm xxx 删除文件
git commit告诉Git,把文件提交到仓库 (-m后面输入的是本次提交的说明)
为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件
git status告诉你有文件被修改过,用git diff可以查看修改内容。
git log可以查看提交历史,以便确定要回退到哪个版本。
git reflog查看命令历史,以便确定要回到未来的哪个版本。
git reset --hard HEAD^ 回退到上一版本
git reset --hard commit_id 指定回未来的某个版本
git checkout -- readme.txt 把readme.txt文件在工作区的修改全部撤销,即让这个文件回到最近一次git commit或git add时的状态。其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
git reset HEAD readme.txt 把暂存区的修改撤销掉(unstage),重新放回工作区
由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
第1步:创建SSH Key。
ssh-keygen -t rsa -C "youremail@example.com"第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
git remote add origin git@github.com:SpringMemories/learngit.git 关联一个远程库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
假设我们从零开发,最好的方式是先创建远程库,然后从远程库克隆。
创建一个新仓库(勾选Initialize this repository with a README
克隆一个本地库 git clone git@github.com:SpringMemories/gitskills.git
创建并切换一个分支 git checkout -b dev = git switch -c dev
相当于 git branch dev git checkout dev = git switch dev
git branch 查看当前分支
git merge 合并指定分支到当前分支
git branch -d <name> 删除分支
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
要查看远程库的信息,用git remote
git clone 自己的项目到Github:
1 在Github创建一个空仓库
2 git clone git@github.com:github用户名/travel.git
3 cp -R 要拷贝的文件 /travel
4 git add file
5 git commit -m 'message'
6 git push