Git(windows)的基本使用

源作者详细版本:https://www.liaoxuefeng.com/wiki/896043488029600
1.git安装(略)
官网下载链接:https://git-scm.com/download/win
2. 创建本地仓库

$ mkdir repository
$ cd repository
$ pwd

2.1 给git授予管理仓库的权限指令:

$ git init

2.2移动一个或者多个文件到仓库
写入一个测试文件,内容随意
vim hello.txt

  • 单个移动
    $ git add hello.txt
    $ git commit -m- "填写英文的提交描述"
  • 多个移动
$ git add hello.txt hello1.txt
$ git commit -m "add 2 files!"

2.3操作文件
2.3.1查看文件状态

git status

2.3.2查看文件被修改的内容

$ git diff hello.txt

修改后的文件需要重新添加和提交
2.3.3版本回退
先查看历史版本:

$ git log

只显示提交版本号:

$ git log --pretty=oneline
其中HEAD表示当前版本,HEAD^表示上个版本,
HEAD^^表示上上个版本,HEAD~100表示之前第100个版本

选择回退一个版本:

$ git reset --hard HEAD^

查看一下文件:

$ cat hello.txt

回到原来的最新版本(未来):

$ git reset --hard 1094a  编号不必写全

查看版本历史:

$ git reflog

2.4.工作区和缓存区
将工作区的文件add到缓存区,然后commit一次性到master分支里
2.5.撤销修改

$ git checkout -- hello.txt

回退操作也可以拯救不开心
2.6、文件删除
在文件管理器中删除文件

$ rm test.txt

从版本库中删除文件

$ git rm test.txt
$ git commit -m "remove test.txt"

3.远程仓库
3.1.注册GitHub账号
3.2.在本地黑窗口创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"
记下密钥被保存地址

一路空格,不设密码
id_rsa是私钥,保密
3.3.登陆GitHub,打开settings–>SSH and GPG keys–>Add keys–>Add new
命名且将id_rsa.pub文件的内容粘贴到文本框
3.4GitHub上创建远程仓库
3.4.1首页右上角+选择NEW repository根据引导完成创建
3.4.2将本地仓库和GitHub上的远程仓库进行关联
https://可以替换成git@

$ git remote add origin https://github.com/GitName/RemoteRepositoryName.git

3.4.3将本地仓库的内容推送到远程仓库

第一次使用时的指令:
    $ git push -u origin master
往后的使用指令:
    $ git push origin master

3.5将远程仓库克隆到本地仓库

$ git clone https://github.com/GitName/RemoteRepositoryName.git

4.分支管理

Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

强行删除未被合并的分支:git branch -D
5.冲突解决
Git合并失败时编辑冲突项再提交
查看分支合并图:

git log --graph

6.分支管理策略
用Fast forward模式合并分支时会丢掉分支信息。
合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并

$ git merge  - -no-ff -m "描述内容" dev

7.修复bug时
创建新的bug分支进行修复,然后合并,最后删除;

储存工作现场:
$ git stash
回到工作现场:恢复的同时把stash内容也删了
$ git stash pop

8.多人协作:
多人协作的工作模式通常是这样:

 1.  首先,可以试图用git push origin <branch-name>推送自己的修改;
 2.  如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
 3.  如果合并有冲突,则解决冲突,并在本地提交;没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!
 4.  如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git
    branch --set-upstream-to <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,如果有冲突,要先处理冲突。
9.把分叉的提交历史“整理”成一条直线:

$ git rebase

10.标签的运用:

命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
命令git tag可以查看所有标签。

命令git push origin <tagname>可以推送一个本地标签;
命令git push origin --tags可以推送全部未推送过的本地标签;
命令git tag -d <tagname>可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>可以删除一个远程标签。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值