Git使用技巧和常用指令(1)
对于当前项目创建版本库:
$ git init
$ ls -ah
建好之后可以发现
把文件添加到版本库:
需要理解Git工作的工作区和版本库的概念:
$ git add 你的文件名(一定要确保在当面版本库的目录下,一次add多个文件用空格隔开;将工作区的文件提交到暂存区)
$ git commit -m "提交到版本库的说明内容"
版本库的当前状态
$ git status
当某文件被改动且没有被加入版本库中,则用下面的命令显示出修改的内容:
$ git diff XXX(想要查看的文件名在工作区和版本库之间的区别)
$ git diff HEAD -- XXX (查看文件名在工作区和最新的版本库之间的区别)
回退版本
$ git log (查看历史commit的记录)
$ git reset -hard HEAD^ (HEAD是表示在master这样的分支上的当前版本,该命令使得版本回退到HEAD之前的上一个版本)
$ git reset -hard XXXX (git log出来的commit id的前几位)
撤销修改
$ git checkout -- XXX (丢弃工作区XXX文件的修改,回到最近一次 git commit 或者 git add 时的状态)
$ git reset HEAD XXX(当修改的XXX文件已经被提交到暂存区,可以unstage掉暂存区的修改,并将其重新放回工作区)
删除文件
当在工作区删除了文件,导致工作区和版本库不一致。
方案1: 该文件确实也应该在版本库中被删除
$ git rm XXX (将XXX文件从版本库中删除)
$ git commit -m "XXXX" (提交更改)
方案2:该文件为错误删除,需要从版本库中恢复
$ git checkout -- XXX (丢弃工作区XXX文件的修改,用版本库替换工作区的XXX文件)
远程库的相关操作
$ git remote add origin git@github.com:你的用户名/远程库的地址最后(origin是远程库的默认名称)
$ git push -u origin master (实际上是把当前分支 master 推送到远程,第一次推送需要加 -u 参数,将本地 master 分支和远程 master 分支关联起来)
$ git push origin master (以后推送不需要 -u 参数也能完成成功 master 分支的推送)
$ git clone git@github.com:你的用户名/远程库的地址最后 (从远程克隆版本库)