git的一些常用操作
一、版本库的创建到提交操作
- 在当前文件夹新建一个版本库
通过git init
命令,创建git可以管理的仓库
git init
- 将工作区文件修改添加到暂存区
git add 文件名
添加全部文件
git add --all
- 将改动从暂存区提交到版本库
通过git commit
把改动提交到版本库,可以一次提交多次add
git commit -m "改动说明"
二、远程库
(一)绑定远程仓库
git作为分布式管理系统,可以存在一个本地库和多个远程仓库。一般都是使用github作为服务器,将自己的提交推送到服务器仓库里,也从服务器仓库拉取别人的提交。
- 想要绑定远程git库,第一步要创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
然后在用户目录进入.ssh
目录,有id_rsa
和id_rsa_pub
文件。id_rsa
是私钥,id_rsa_pub
是公钥。
- 登录Github,settings里找到
SSH and GPG keys
,点击New SSH Key
,在下方文本框里粘贴公钥文件的内容。
(二)创建远程仓库
在GitHub个人首页,右上角找到“Create a new repo”按钮,创建一个新的仓库。
创建成功后,根据网页上关于本地已有或未有版本库的代码提示,在Git bash输入对应代码,成功推送版本库。
三、使用git的一些常用操作
-
将文件从版本库中删除
$ git rm filename
-
通过
git status
可以看到目前版本库的状态$ git status
-
通过
git diff
可以查看文件的改动$ git diff 文件名
-
通过
git log
可以查看从最近到最远的提交日志,其中有版本号$ git log # 可以加上--pretty=oneline参数,减少点信息,方便看 $ git log --pretty=oneline
-
版本回退
在Git中,使用HEAD表示当前版本,HEAD^表示上上个版本,之前100个版本是HEAD~100.
回退到上个版本,使用
git reset
命令,$ git reset --hard HEAD^ # 或者是使用版本号,使用到能区分出各个版本的位数即可。 $ git reset --hard 版本号
假如回退后,之后又想恢复到最近版本,那么就使用
git relog
来查看你的每一次命令$ git relog
在显示的信息中,找到你想要的版本号恢复即可。
-
删除本地git仓库
在本地仓库的目录下调用命令行删除根目录下的
.git
文件夹,输入$ find . -name ".git" | xargs rm -Rf
这个操作会将所有文件都删除
-
删除远程仓库的
test.md
文件,本地不想删# --cached表示从索引中删除文件,但并不删除本地的文件,只是不希望这个文件被版本控制 $ git rm -r --cached test.md $ git commit -m 'rm' $ git push
-
从远程仓库克隆
使用
git clone
命令,可以从远程仓库克隆一个本地库git clone git@github.com:******/****.git
最后说一句,所有的版本控制系统,都是跟踪文本文件的改动,比如TXT文件,网页,程序代码等,对图片、视频等二进制文件,虽然都可以管理,但是无法跟踪改动。word文件同样也是二进制编码的,因此也无法跟踪。比如windows自带的记事本,保存时,会自动的添加0xefbbbf(十六进制)的字符,因此最好是不使用。