Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。为了有效管理代码,同时方便同一个项目存在多人开发的情况,使用git分布式控制和管理代码的方式,同一个Git仓库可以分布到不同的机器上,通过这种分布式的管理方式,保证了代码的安全性也让代码的管理变得十分简便。
创建github并进行本地关联
-
在使用时git之前使用邮箱再github注册账户,由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置SSH密钥。
-
创建SSH Key。在用户主目录下,查看是否讯在.ssh目录,如果有,再查看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C “youremail@example.com”
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。 -
接下来需要把本地的SSH Keys添加到github账户中,登陆GitHub,打开“Account settings”,“SSH Keys”页面:点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:
GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送
github上传命令
Git初始设定
建立一个Git库
$ git init
设置基础信息
$ git config -l //git当前设置
$ git config --global user.name “Alan” //修改或添加名称
$ git config --global user.email “zhaialan@sina.com”//修改或添加邮箱
$ git config --global color.ui true //mac版本git字段高亮显示
$ git config -l
方便命令
$ git config --help
$ git help config
#建立本地Git库
$ git init
#编辑(修改)本地文件
$ vim myweb.html
...
...
#本地工作文件夹状态确认
$ git status
$ git add myweb.html
#本地工作文件夹状态再次确认
$ git status
#将索引区内容提交本地库
$ git commit -m "created myweb.html"
#查看提交历史
$ git log
查看提交履历
$ git log
$ nano myweb.html
...
...
$ git add myweb.html
$ git commit -m "added code."
$ git log
$ git log --oneline //一行显示
$ git log -p //详细显示
$ git log --stat //每次提交信息统计
$ git log --help
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
$ git add myweb.html
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: myweb.html
$ git reset HEAD myweb.html //撤回(到本地仓库)已经添加到索引去的文件
$ git checkout -- myweb.html //本地撤销修改
$ git status
#工作文件夹比较
$ git diff
• git add [file1 file2 ...]
• git add . 添加目录下所有文件
• git rm 删除文件
• git mv 修改文件名称
知识点
• git commit -m "commit message" // 提交并添加备注信息
• git commit --amend //增加内容提交到上次提交记录中
• git commit -am "commit message" [--amend]//追加文件,并提交叫到上次修改记录中去
(慎重操作,注意备份)
• git reset --hard HEAD //返回过去到最后一次提交位置
• git reset --hard HEAD~ //返回到倒数第二次版本
• git reset --hard HEAD~n //返回到前几次的某个版本
• git reset --hard d019a46 //回到id为那个的版本(返回后也可以回到将来版本)
• git reflog [-n num] //可以查询之前的日志-n是数字查询之前几次上传日志地带id
• git reset --hard [commit_id]
知识点
• git branch [name] // 创建分支
• git checkout branch_name //切换分支
• git merge //合并分支
• git branch -d [name] //删除分支
$ git push -u origin master(其中master是分支的名称) #把本地库的所有内容推送到远程库上
#########push的时候发现有大文件的时候可以执行下面的命令
git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch BIGFILE_PATH' --prune-empty --tag-name-filter cat -- --all # BIGFILE_PATH为需要删除的文件
如果发现保存:Cannot rewrite branches: You have unstaged changes
执行:git stash
GitHub中删除某个项目
1、 首先进入到自己的github账户,定位到需要删除的代码
2、 点击进入该代码管理仓库, 在主界面上有Settings标志,点击进入
3、 下拉到最后有一个删除界面
4、 将该repository的全名粘贴上,删除即可
来源:CSDN
作者:qq_33511693
链接:https://blog.csdn.net/qq_33511693/article/details/103446961