1 Star 0 Fork 469

夜归人/learngit

forked from 廖雪峰/learngit 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
huimincheng2015.txt 3.74 KB
一键复制 编辑 原始数据 按行查看 历史
Alice敏 提交于 2017-03-28 09:33 . pull reaquest (#1959)
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内容也删了。
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/denisgit/learngit.git
git@gitee.com:denisgit/learngit.git
denisgit
learngit
learngit
master

搜索帮助