一、创建本地仓库进行版本控制
在工作区 local_repository 新建readme.txt文件:
- git init :初始化一个空的本地仓库,并在本地仓库生成了.git 文件
- git add readme.txt :将文件放到暂存区,表示这个文件受git管理
- git commit -m “write a readme file”:一次性把暂存区的所有修改提交到分支
在工作区对readme.txt文件进行修改以后:
-
git add readme.txt:提交的所有修改放到暂存区(Stage)
-
git commit -m “add a new line”:一次性把暂存区的所有修改提交到分支
-
git log:查看提交历史,以便确定要回退到
历史的哪个版本
。
-
git reset --hard cac4b77d:回退到版本号为cac4b77d的历史版本
-
git reflog:查看命令历史,以便确定要回到
未来的哪个版本
。 -
git diff HEAD – readme.txt 查看工作区和版本库里面最新版本的区别
-
git rm readme.txt 工作区的文件会自动删除 git commit -m “remove readme.txt”: 版本库也要做相应删除以保证一致
-
git checkout – readme.txt:误删之后用版本库里的版本替换工作区的版本。
二、创建远程仓库,clone到本地,进行远程版本管理
现在GitHub上创建一个仓库,或者已经有一个远程仓库:
在本地建一个文件夹local_repository,bash进入该目录
- git clone
git@github.com:michaelliao/gitskills.git:删除线换成自己的仓库地址,此时远程仓库就与本地建立了联系,并且远程仓库的文件也clone到了本地。
使用Git下载指定分支
命令为:git clone -b 分支名 仓库地址 - git remote -v:查看远程库的信息(显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址。)
本地作出修改以后:
- git add file_a :提交修改到暂存区(Stage)【注:如果提交某个文件夹中的所有文件,file_a为文件夹的名字即可,无需每个文件都提交一次】
- git commit -m “modified file_a”:提交暂存区的所有修改到分支(master)
- git push origin master:推送到远程 (上传)
远程仓库的默认名称是origin
,本地主分支名称master
远程协作的其他人对远程仓库进行更新后:
- git pull origin master:拉最新代码 (下载)
- git rm -r --cached target :删除服务器上target文件/夹,删完要commit、push
三、创建本地仓库,与远程仓库关联,进行远程版本管理
四、可能遇到的问题及解决办法:
SSH KEY密钥问题:
git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
解决办法:参考此篇博客,或者此篇生成一个 SSH KEY,就可以了!