git

1.创建仓库:

mkdir learngit

git init

2.把一个文件添加到git仓库:

第一步:把文件添加到仓库

git add readme.txt // readme.txt为想要放入git的文件

第二步:把文件提交到仓库

git commit -m "wrote a readme file" // -m后面为本次提交的说明

3.如果修改了readme.txt文件:

A.查看状态:

git status

B.查看具体修改:

git diff

C.提交修改:

git add readme.txt
git status
git commit -m "add distributed"

4.穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

5.丢弃工作区的修改:

git checkout -- file

包括两种情况:

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

 

如果不幸已经提交到了暂存区,使用:

git reset HEAD file

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。

接下来,再执行工作区的丢弃:

git checkout -- readme.txt

 6.删除操作:

第一步:假设添加了一个新文件test.txt

git add test.txt
git commit -m "add test.txt"

第二步:手动删除了test.txt后,有两种情况

A.确实希望从版本库中删除:

git rm test.txt
git commit -m "remove test.txt"

B.删错了:

git checkout -- test.txt

7.GitHub

要关联一个远程库,使用命令git remote add origin git@lemoncatyang:path/learngit.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系统的最大好处之一是在本地工作完全不需要考虑远程库的存在,也就是有没有联网都可以正常工作,而SVN在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!

 

posted on 2015-10-31 20:22  SomeBod_Y  阅读(166)  评论(0编辑  收藏  举报