学习git版本控制

来源:互联网 发布:养猪软件有哪些 编辑:程序博客网 时间:2024/05/17 20:32

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 clonegit@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:分支名)


本人第一次写博客,有不到之处,望各位海涵。同时希望各位能给出宝贵的意见,谢谢观看!


1 0
原创粉丝点击