sudo apt-get install git 安装
//设置,都是GitHub的用户名和注册邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
//创建版本库
git init
//文件添加到版本库
git add filename
//把文件提交到仓库
git commit -m "wrote a readme file" //冒号里的信息只是自己加的提示信息,不会放到文件里;最后一段字符,你输入的是什么,放进去就是什么。
//查看文件状态,是否被修改
git status
//查看文件被改了什么
git diff //只能查看工作区的修改情况,要查看工作区文件和加入到暂存取的修改的不同之处用git diff HEAD -- readme.txt
//查看文件修改日志记录
git log
//日志记录文件一行显示
git log --pretty=oneline //显示的最开头的字符串就是commit id,id记录前面7个就够了
//版本回退(回退是从分支master放到stage)
git reset --hard HEAD^ //一个表示上一个版本,^上两个版本,多个可以HEAD~100(上100个版本)
git reset --hard 17fc687878b872dbe0957609f96a35337bf28f8d //不需要这么长,只要前面7个数字就可以了
git reset HEAD readme.txt
//查看历史命令
git reflog![](data:image/png;base64,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)
在一个目录下,使用git init命令把当前目录初始化,他会在这个目录下新建一个隐藏的.git文件
git版本控制库分两个部分,一个是工作区(Working Directory),比如我们现在初始化的目录下就是
一个是版本库(Repository)
Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
//撤销修改,丢弃工作区的修改
git checkout -- file //git checkout 就是用版本库里的版本替换工作区的版本
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。 git checkout -- filename 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。 git reset HEAD filename git checkout -- filename 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。 git reset --hard "commit id" (HEAD~前几次,用这个命令一次就恢复了) git reset HEAD filename git checkout -- filename |
|
//从版本库中删除文件 git rm filename |
|
第1步:创建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是公钥 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面: 然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
|
|
添加远程库 已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:repo-name git remote add origin git@github.com:meihao1203/learngit.git //本地仓库与刚才新建的仓库关联 远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。 如果在GitHub建立仓库的时候带上了README.md,push会失败,出现错误的主要原因是github中的README.md文件不在本地代码目录中,要执行下面这个命令 git pull --rebase origin master git pull origin master //我的windows电脑和Linux上都在往项目里push代码,这就造成了两个push的时候master分支不一致,这是后就要用这个命令进行分支合并,再push //这个是直接用远程仓库的分支合并自己本地的,这样操作后本地就和远程一样,但是不安全 git fetch origin master //首先从远程的origin的master主分支下载最新的版本到origin/master分支上 git log -p master origin/master //比较本地的master分支和origin/master分支的差别 git merge origin/master //合并 //推送 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 git push -u origin master //现在github上的东西就和我们本地的一样了 git push origin master //以后push只要这个命令
|
|
从远程库克隆 登陆GitHub,创建一个新的仓库,名字叫gitskills: git clone git@github.com:meihao1203/gitskills.git //从网页上下载 https://github.com/meihao1203/gitskills |
git init git add README.md git commit -m "first commit" git remote add origin https://github.com/meihao1203/gitskills.git git push -u origin master |