使用git

来源:互联网 发布:学党史,知国情,圆梦想 编辑:程序博客网 时间:2024/05/23 23:39

一、设置姓名邮箱

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

二、创建版本库

1、创建本地仓库:

mkdir tsetgit       //创建目录pwd                 //显示当前路径git init            //这个目录变成git可以管理的仓库,这个目录内会增加一个.git文件夹

2、提交文件到版本库的两步

git add readme.txt  //readme.txt添加到暂存区里面去git commit -m     "修改的内容"//提交到版本库git status //查看当前文件夹文件状态,是否有文件未提交git diff //文件修改了什么

三、版本回退

查看修改历史,由近到远git loggit log --pretty=oneline(横排显示)git reflog  //查看版本号git reset  –hard HEAD^       //回退上一个版本git reset  –hard HEAD^^    //回退上上个版本git reset  –hard HEAD~100  //回退前一百个版本cat readme.txt                       //查看内容:

注:
1、不能使用https://github.com/yiy-curtain/newTest,这是用的https而不是git,需要输入用户名密码
2、远程repository和我本地的repository冲突导致的,push前先将远程repository修改pull下来,git pull origin master

四、工作区和版本库

工作区:电脑上看见的目录或文件
版本库:.git目录(其中有stage暂存区,git为我们创建的第一分支master,指向master的指针HEAD)

提交文件步骤:文件添加进暂存区,暂存区内容提交到当前分支

五、删除和撤销删除

撤销修改
git checkout – file//撤销在工作区还没有存入暂存区的修改
删除文件
rm test.txt//删除文件夹下文件
git commit -m “”//彻底删除
git checkout – test.txt//版本库里恢复文件,若提交了删除则恢复只有名字

六、远程仓库

ssh-keygen -t rsa -C "996178163@qq.com"github添加SSH Keysssh -T git@github.com //测试你的ssh-keygithub创建新的仓库git remote add origin git@github.com:yiy-curtain/newTest.gitgit push -u origin master   ( git push origin master )git clone git@github.com:yiy-curtain/testgit2

1、创建ssh key:
ssh-keygen -t rsa -C “996178163@qq.com”
2、登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容

3、Create a new repository创建新的仓库
4、本地仓库的内容推送到GitHub仓库

5、推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push -u origin master//推送本地master分支并将本地master分支和远程master分支关联起来

克隆远程仓库,在需要克隆库的文件夹下执行
git clone git@github.com:yiy-curtain/testgit2
cd testgit2 进入该文件夹
ls

七、分支操作

分支管理策略
一般在新建的dev分支上干活,分支代码稳定后发布到master主分支上
git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式

git checkout -b dev 创建+切换分支dev
git checkout dev 切换分支
git branch dev 创建分支
git branch -d dev 删除分支
git merge dev master合并分支
git branch 查看分支,会列出所有的分支,当前分支前面会添加一个星号
git log 查看分支合并情况

创建一个dev分支。
修改readme.txt内容。
添加到暂存区。
切换回主分支(master)。
合并dev分支,使用命令git merge –no-ff -m “注释” dev
查看历史记录

bug分支
git stash 把当前工作现场“储藏”起来
git checkout master 切换到需要修复bug的分支

git checkout -b issue-101 创建临时分支,修复bug101,提交
git add readme.txt
git commit -m “fix bug 101”

git checkout master返回分支,合并bug修复分支,删除bug修复分支
git merge –no-ff -m “merged bug fix 101” issue-101
git branch -d issue-101

git checkout dev返回工作的分支
git status 工作区是干净的
git stash list 查看隐藏的列表

恢复隐藏内容:
git stash apply 恢复
git stash drop 删除

git stash pop 恢复并删除
git stash apply stash@{0} 多次隐藏,恢复指定stash

每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支
git checkout -b feature-new
git add hi.txt
git commit -m “add feature new”
git checkout master
git merge –no-ff -m “merged feature-new” feature-new
git branch -d feature-new
git branch -D feature-new//没合并之前强行删除

多人协作
从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin

git remote 查看远程库信息
git remote -v显示更详细的信息,显示了可以抓取和推送的origin的地址
git push origin master(分支名)本地分支master推送到对应的远程分支上去
git push origin dev
master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发

git checkout -b dev origin/dev创建远程origin的dev分支到本地

原创粉丝点击