Git管理
一.Git的安装:
Windows系统:
1.下载msysgit安装程序(下载地址:https://git-for-windows.github.io)
2.默认选项安装即可,安装完成,在开始菜单找到“Git”->“Git Bash”
3.Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址
4.git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都 会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
$git config --global user.name"Your Name"
$git config --global user.email"email@example.com"
二.创建版本库:
创建空目录:mkdir muluming
a) 进入目录:cd muluming
b) 显示目录:pwd
把目录变git管理的仓库:git init
a) 查看隐藏的.git目录:ls -ah
b) 文件添加到仓库:git add wenjianming.txt
c) 文件提交到仓库:git commit -m “要描述这次提交的信息,只能英文”
三.版本穿梭:
文件的状态
1.查看文件是否被修改:git status
2.查看文件修改的内容:git diff
四.版本回退:
1.查看历史记录(版本库)的状态:git log(可以看三次,最近一次,上一次,最早一次)如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline 参数:
$ git log --pretty=oneline
3628164fb26d48395383f8f31179f24e0882e1e0 append
GPLea34578d5496d7dd233c827ed32a8cd576c5ee85 add distributed
cb926e7ea50ad11b8f9e909c05226233bf755030 wrote a readme file
2.退回上一个版本:git reset --hard HEAD^ --hard HEAD^(^代表上一个版本,^^代表上上个版本,HEAD-100 代表100个版本)
3.指定id跳转版本:git reset -- hard 1343113
4.查看(记录每一次的命令操作):git reflog
五.撤销修改:
1.丢弃工作区的修改: git checkout -- file
a) 一种情况是还没有添加到缓存区
1)查看文件内容:cat wenjianming.txt
b) 另一种情况是添加到缓存区了
1) 撤消缓存区修改内容:git reset HEAD file(撤消的内容到工作区,再执行 git checkout -- file 丢 弃工作区修改)
六. 删除文件:
1.从版本库中删除:
a) 首先用命令:git rm 删除
b) 其次用命令:git commit 提交
2.另一种是删错了
a) 用版本库里的版本替换工作区版本:git checkout -- file
七. 远程仓库:
1.创建SSH Key:ssh-keygen -t rsa -C“用户邮箱”(会在windows用户账号生成一个.ssh目录,里面有公钥和私钥)
2.在github上创建账号 -- SSH and GPG keys -- New SSH key -- 把公钥(id_rsa.pub)里面的内容复制进来
八. 添加远程仓库:
1.关联本地仓库:
a) 在本地的learngit仓库下运行命令:git remote add origingit@github.com:yangyoupeng/sky.git千万注意,把上面的yangyoupeng替换成你自己的GitHub账户
2.把本地库内容推送到远程
a) git push -u origin master (第一次推送时,加上 -u 参数,git不但会把本地的master分支内容推送的远 程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时 就可以简化命令)
b)以后就可以直接通过 git push origin master命令来推送
3.从远程库克隆:
a) git clone克隆一个本地库,注意git库换成你自己的
$git clone git@github.com:michaelliao/gitskills.git
Cloning into'gitskills'...
九. 分支管理:
1. 查看分支:git branch
2. 创建分支:git branch <name>
3. 切换分支:git checkout <name>
4. 创建+切换分支:git checkout -b <name>
5. 合并某分支到当前分支:git merge <name>
6. 删除分支:git branch -d <name>
十. 解决冲突:
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交, 合并完成。
1.查看分支图:git log --graph
十一. 分支管理:
合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删 除分支后,会丢掉分支信息。
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的 commit,这样,从分支历史上就可以看出分支信息。
1.合并分支禁用fast forward模式:git merge --no-ff -m “sfksfsf” fenzhiming
2.储存当前工作现场:git stash
3.查看储存的工作现场:git stash list
4.恢复工作现场:git stash aply(储存的现场不删除)
5.删除工作现场:git stash drop
6.恢复+删除:git stash pop
十二. 多人合作:
1.查看远程库的信息:git remote
2.查看远程库更详细信息:git remote -v
3.把分支内容推送远程库:git push origin branch_name(branch_name:分支名)
本人第一次写博客,有不到之处,望各位海涵。同时希望各位能给出宝贵的意见,谢谢观看!