Git

一、创建版本库
1.git init 把目录变成Git可以管理的仓库
2.把文件添加到版本库
git add yourfilename
git commit -m"提交说明"
二、版本控制
1. git status 查看版本库状态
2. git diff 查看修改内容,修改前后区别
3. git log 查看历史记录(若嫌输出内容太多,加上 --pretty=oneline)
4. git reset --hard HEAD^ 回退到上一个版本(^的个数表示回退几个版本)
5. 回退之后想重新改到最新版本 git reset --hard 版本号
6. git reflog 记录你的每一个命令
7. git diff HEAD --youfilename 查看工作区和版本库里最新版本的区别
8. git checkout --yourfilename 丢弃工作区的修改
9. rm yourfilename 删除文件
10. git rm yourfilename 从版本库里删除该文件
三、远程仓库
1.第一步 创建SSH Key (用户主目录多了.ssh目录,里面有id_rsa 和
id_rsa.pwb两个文件,分别为私钥和公钥。)
ssh-key -t rsa -C “youremail”
2. 第二部 登陆GitHub, 打开“SSH Keys”页面
点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容
3.添加远程库

  • 把一个本地库与GitHub上创建的版本库关联:在本地运行git remote add origin git@github.com:github用户名/本地库名.git
  • 从远程库克隆 git clone git@github.com:GitHub用户名/版本库名称.git
    4.git push -u origin master 将本地库所有内容推送到远程库上。
    5.git push origin master 将本地master分支的最新修改推送到远程库。

四、分支管理
1.创建与合并分支
(1)git checkout -b 分支名称 (创建并切换到新创建的分支)
上面一条语句相当与两条语句
git branch 分支名称 ( 创建分支)
git checkout 分支名称 (切换分支)
(2)git merge 分支名称 (合并指定分支到当前分支)
(3)git branch -d 分支名称 (删除分支)
(4)git branch (查看当前分支)
2.解决冲突
(1)当把一个分支合并到另一个分支,若两个分支都对文件做了修改,就会冲突,合并时会提示哪个文件冲突了,也可以用git status来查看冲突文件,要手动解决了冲突后再合并。
(2) git log --graph --pretty=oneline --abbrev-commit (带参数的git log可以看到分支的合并情况)
3.分支管理策略
(1) 通常合并分支会在fast forword模式下,但是删除分支后会丢掉分支信息。
(2) 禁用 fast forword :在合并分支时,git merge --no-ff -m"提交信息" 分支名称
4. Bug分支
(1)git stash (将当前工作现场储藏起来)
(2)git stash list (查看储存起来的工作现场)
(3) git stash apply (恢复工作现场,但并不删除stash内容,要用git stash drop来删除)
(4) git stash pop (恢复工作现场,同时删除stash内容)
5.Feature分支
(1)每添加一个新功能最好新建一个feature分支,完成后合并
(2) 开发完成后,准备合并,但突然说新功能要取消
git branch -d 功能分支(删除失败,因为功能分支还没有合并)
git branch -D 功能分支(D强行删除)
6.多人协作
(1)git remote (查看远程库信息)
git remote -v(查看远 程库信息,更详细)
(2)git checkout -b 分支名称 origin/分支名称 (创建远程的origin的某分支到本地)
(3)git push origin master(推送分支)
(4)git clone git@github.com:GitHub用户名/版本库.git
(5)若你的伙伴的最新提交和你试图推送的有冲突
git pull (抓取最新提交的分支,在本地合并然后推送)
(6)git branch --set-upstream branch-name origin/分支名称(建立本地分支和远程分支的关联)
(7)git rebase操作可以把本地未push的分叉提交历史整理成直线;rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比

五、标签管理
1.创建标签

  • git tag <标签名> (打标签)

  • git tag (查看所有标签)

  • git tag <标签名> 给commit id 所对应的commit打标签

  • git tag -a <标签名> -m"提交信息" (创建带有说明的标签,-a指定标签名, -m指定说明文字)

  • git show (可以看到说明文字 )
    2.操作标签

  • git tag -d <标签名> (删除标签)

  • git push origin (推送某个标签到远程)

  • git push origin --tags (一次性推送全部尚未推送到远程的本地标签)

  • git tag -d <标签名称>

  • git push origin :refs/tags/<标签名> (这两个是删除已经推送到远程的标签,首先从本地删除,然后从远程删除)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值