git
1.创建仓库:
mkdir learngitgit 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 commit
或git 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在没有联网的时候是拒绝干活的!当有网络的时候,再把本地提交推送一下就完成了同步,真是太方便了!