git使用教程
git使用
参考廖雪峰大神的教程。
Linux是真的流弊,两周用c 写了一个分布式版本控制系统。
mkdir /git_home //创建目录,创建一个新的分支
cd git_home //进入目录
pwd //显示完整路径
git init //初始化,使该目录变成可管理的git仓库
ls -ah //查看.git目录,跟踪管理版本库
ls -a //查看目录
git add filename //提交文件,把文件修改添加到暂存区,类似于存到内存
git commit -m "about" //添加说明,把暂存区的内容提交到当前分支,类似于存到硬盘
git status //显示仓库当前状态
git diff //查看具体更改的内容
git log //查看提交历史,显示提交人,提交时间,以便回退到历史版本
git reset --hard HEAD^ //版本回退到上一个版本
git reset --hard commit_id 回到历史版本
git reflog //查看命令历史,以便回到未来版本
git checkout --filename //把文件在工作区的修改全部撤销。如果file还没有add,撤销就和之前的版本一模一样,如果已经add,,回到上次git commit/git add 的状态。本质上的用版本库的版本替换工作区的版本
git reset HEAD<.file>可以把暂存区的修改回退到工作区,这里的HEAD是上一个版本
My stupid boss still prefers SVN. //stupid boss 可能会让我丢掉这个月的奖金
GitHub 免费的远程仓库,可以托管代码,登录GitHub,Create a new repo创建一个新的仓库 git remote add origin (name)git@github.com:yourname/hubname.git //把本地仓库内容推送到GitHub仓库
git push -u origin(name) master //推送到远程仓库。
之后的修改只要git push origin master就能将最新修改推送到GitHub
rm filename //删除文件
git commit -m "remove filename"
分支管理 比如要开发一个新功能,但是时间要两周,目前还没有完成,不完整的代码使别人无法完成工作,但是不提交就可能丢失自己的工作进度,git可以开一个自己的分支,只有自己可以看到,提交到自己的分支上,依旧享受之前版本的所有功能。
git branch //查看当前分支 会列出所有分支,当前分支前有*
git branch <name> //创建分支
git checkout <name> //切换分支
git merge <name> //合并某分支到当前分支
git branch -d <name> //删除分支
实际开发中,master分支是主分支,应该是非常稳定的,仅用于发布新版本;平时干活是在dev分支上,各个小伙伴在dev分支上创建自己的分支,完成后忘dev分支合并。分支合并时,加上--no--ff可以用普通模式合并,合并后的历史有分支,可以看出来有过合并,而fast forward合并就看不出来曾经做过合并。