git的一些常用操作


一、版本库的创建到提交操作

  1. 在当前文件夹新建一个版本库

通过git init命令,创建git可以管理的仓库

git init
  1. 将工作区文件修改添加到暂存区
git add 文件名

添加全部文件

git add --all
  1. 将改动从暂存区提交到版本库

通过git commit把改动提交到版本库,可以一次提交多次add

git commit -m "改动说明"

二、远程库

(一)绑定远程仓库

git作为分布式管理系统,可以存在一个本地库和多个远程仓库。一般都是使用github作为服务器,将自己的提交推送到服务器仓库里,也从服务器仓库拉取别人的提交。

  1. 想要绑定远程git库,第一步要创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"

然后在用户目录进入.ssh目录,有id_rsaid_rsa_pub文件。id_rsa是私钥,id_rsa_pub是公钥。

  1. 登录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(十六进制)的字符,因此最好是不使用。

相关