链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

配置用户

git config --global user.name "Your Name"
git config --global user.email you@example.com

 

常用命令

 

git init   #将文件夹变成git可以管理的仓库

git add xxx   #将xxx添加到git仓库(实质上是将文件从工作区提交到git仓库的暂存区)

git commit -m "xxx"    #提交文件到git仓库,-m后面输入的是本次提交的说明 (实质上是将文件从暂存区提交到git仓库的版本库上)

git status    #该命令可以让我们时刻掌握仓库当前的状态

git diff xxx    #查看xxx文件被修改的内容

git log    #查看所有文件提交日志(git log --pretty=oneline加上参数后一天日志只显示一行)

git reset --hard HEAD^   #git回退版本,--hard后面跟的是commit的版本号。在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成 HEAD~100。

git reflog   #查看命令历史

git checkout -- readme.txt    #把readme.txt文件在工作区的修改全部撤销。有两种情况:一种是readme.txt自修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。

git reset HEAD readme.txt    #把暂存区的修改撤销掉,重新放回工作区

git rm file    #删除版本库中的file文件

 

应用场景

放弃修改文件

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1 ,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,使用命令git reset --hard ...,不过前提是没有推送到远程库。

 

工作区删除了文件

情况1:确实要从版本库中删除该文件,那就用命令git rm file 删掉,并且git commit提交

情况2:删错了,因为版本库里还有呢,所以可以很轻松地使用git checkout -- file命令把误删的文件恢复到最新版本

 

远程仓库

把本地git项目推送到github上

git remote add origin https://github.com/macoli/learngit.git #建立关联

远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库

git push -u origin master    #推送

把当前分支master推送到远程,第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把
本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,也不必加-u了。

将github上的项目克隆到本地

git clone git@github.com:macoli/BlogWeb.git

 

分支管理

git checkout -b dev    #创建名为dev的分支并切换到dev分支。
#git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch dev
git checkout dev


git branch   #查看当前分支

git merge dev   #合并dev分支到当前分支

git branch -d dev   #删除dev分支

 


参考资料:

廖雪峰Git教程

 

posted on 2016-07-19 16:54  链条君  阅读(243)  评论(0编辑  收藏  举报