代码拉取完成,页面将自动刷新
同步操作将从 廖雪峰/learngit 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
github学习笔记
一、安装git
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "huimincheng"
$ git config --global user.email "huimincheng2015@gmail.com"
二、创建版本库
(1)初始化一个Git仓库,使用git init命令。
mkdir learngit
cd learngit
pwd
git init #通过git init命令把这个目录变成Git可以管理的仓库:
(2)添加文件到Git仓库,分两步:
第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;
第二步,使用命令git commit,完成。
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
三、时光机穿梭,
(1)要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
(2)版本回退
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
commit_id可选取前7位,git log --pretty=oneline单纯查看cimmit_id
1.穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
git reset --hard HEAD^
或者git reset --hard HEAD~1
也可以git reset --hard commit_id
2.要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
只能git reset --hard commit_id
(3)撤销修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:针对已经commit的修改,但是又想反悔,git的世界里总有后悔药可以吃!
已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有push到远程库。
(4)
1.从版本库中删除该文件
命令git rm file用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,
2.从工作区中删除文件
rm file
四、远程仓库
1.SSHkeys
详情参见https://help.github.com/articles/generating-an-ssh-key/
2.建立连接
git remote add origin git@github.com:Huimincheng2015/learngit.git
四、远程仓库
git remote add origin git@github.com:Huimincheng2015/learngit.git
五、分支管理
(1)popular command
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
删除分支:git branch -d <name>
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>强行删除。
合并某分支到当前分支:git merge <name>
1.支合并分为快速合并与普通合并两种模式,
普通合并,合并后的历史有分支记录,能看出来曾经做过合并,
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,
能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
$ git merge --no-ff -m "merge with no-ff" dev
$git log --graph --pretty=oneline --abbrev-commit
而快速合并就看不出来曾经做过合并:git merge dev
(2)BUG分支
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,
再git stash pop,回到工作现场,恢复的同时把stash内容也删了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。