git的常见操作

1.创建版本库

到自己的目录位置,建立目录,再把这个目录变成git可以管理的仓库

注意:Windows系统,目录名尽量不要包含中文



1.1 创建目录:mkdir demo

1.2 进入目录:cd demo

1.3 展示目录:pwd

1.4 变成仓库:git init



创建完成后,里面会有一个 .git的目录,这是用来跟踪管理版本库的,

不要随意更改里面的文件,否则会破坏Git仓库

-看不见的话,是因为默认隐藏, ls -ah 可以看见。

-任何的目录都是可以创建Git仓库的,但是不建议这样,如果熟练的

话,可以直接创建



1.5 添加文件到仓库:git add <文件名>

1.6 提交文件到仓库:git commit -m '<提交说明>'



-添加文件到仓库的时候,可以同时提交多个,所以执行commit

可以一次提交多个文件



2.版本回退

2.1 版本回退:git reset --hard <commit_id>

git reset --hard HEAD^^/HEAD~2

2.2 提交历史:git log /git log --pretty=oneline --穿梭过去

2.3 命令历史:git reflog --重返未来



暂存区/工作区解释

提交文件都是先提交到暂存区(add),然后再提交到当前的分支(commit).



情景1. 假如你修改了文件,并执行了add操作,但是又对文件进行了修改,那么直接执行commit操作的

时候,会发现最新的修改并没有提交,所以,对文件进行修改以后,只要想让他是最新的并且

提交,都必须先执行add操作,在执行commit操作。

2.4 丢弃工作区的修改:git checkout -- <文件名> 用版本库里的版本替换工作区的版本,一键还原

2.5 丢弃暂存区的修改:git reset HEAD <文件名> ,再执行2.4



2.6 删除工作区的文件:rm <文件名> /Windows下直接删除 ---2.4可以恢复

2.7 删除版本库的文件:git rm <文件名> ---2.5->2.4可以恢复





3.远程仓库

看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa(私钥)和id_rsa.pub(公钥)这两个文件,

如果已经有了,可直接跳到下一步。

没有的话执行此步:创建SSH Key:ssh-keygen -t rsa -C "<git的邮箱地址>"

3.1 添加远程库:

3.1.1 登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:

3.1.2 点击“Create repository”按钮,就成功地创建了一个新的Git仓库

3.1.3 在本地的learngit仓库下运行命令: git remote add origin <.git结尾的地址>

3.1.4 把本地库的所有内容推送到远程库上: git push -u origin master



-加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支

和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。



3.1.5 从现在起,只要本地作了提交 git push origin master



3.2 从远程库克隆

3.2.1 登陆GitHub,创建一个新的仓库

3.2.2 勾选Initialize this repository with a README,这样GitHub会自动为我们创建一个README.md文件

创建完毕后,可以看到README.md文件

3.2.3 git clone <git地址>

3.2.4 进入gitskills目录看看,已经有README.md文件





4.分支管理

4.1 创建于合并分支:

4.1.1 查看分支:git branch

4.1.2 创建分支:git branch <name>

4.1.3 切换分支:git checkout <name>

4.1.4 创建+切换分支:git checkout -b <name>

4.1.5 合并某分支到当前分支:git merge <name>

git merge --no-ff -m "merge with no-ff" dev

--no-ff参数,表示禁用Fast forward

因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。

4.1.6 删除分支:git branch -d <name>



4.2 解决冲突

4.2.1 分支合并图: git log --graph

4.3 分支管理策略

4.4 bug分支

4.5 Feature分支(新功能分支)

4.6 多人协作

4.6.1 推送分支 git push origin dev

4.6.2 要在dev分支上开发,就必须创建远程origin的dev分支到本地



因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们,

先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,再推送

git pull

git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,

根据提示,设置dev和origin/dev的链接:

git branch --set-upstream dev origin/dev





因此,多人协作的工作模式通常是这样:



首先,可以试图用git push origin branch-name推送自己的修改;



如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;



如果合并有冲突,则解决冲突,并在本地提交;



没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!



如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。



这就是多人协作的工作模式,一旦熟悉了,就非常简单。



小结



查看远程库信息,使用git remote -v;



本地新建的分支如果不推送到远程,对其他人就是不可见的;



从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;



在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;



建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;



从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。





// 通用命令

1.掌握仓库当前状态: git status

2.查看不同: git diff
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值