Git学习笔记 持续更新中

2.使用github

2.1目的:借助github托管项目

2.2基本概念:

​ 2.2.1 仓库(Repository)即项目再GitHub上开源一个项目,那就必须新建一个Repository,如果开源项目多,久要创建多个Repository。

​ 2.2.2 收藏(star)仓库主页star按钮,意思是收藏项目的人数

​ 2.2.3 复制克隆项目(Fork)

​ 2.2.4 发起请求(Pull Request)

​ 2.2.5关注 wacth 关注项目,如果项目有更新,github会发送通知。

​ 2.2.6 事物卡片(Issue)发现代码bug

2.3 注册github

​ 2.3.1官网 https://github.com/

  1. ​ Github主页:左侧显示动态信息,右侧显示所有的仓库
  2. ​ 仓库主页:显示项目的信息
  3. ​ 个人主页:显示个人信息

验证邮箱时候,需要注意反垃圾的白名单

2.4创建仓库/创建新项目

​ 2.4.1:一个git库对应一个开源库 通过git来管理git仓库

2.5管理仓库

​ 2.5.1 Create new file 创建文件

​ 2.5.2 Upload files 上传文件或者文件夹

三、git学习笔记

3.1git工作区域

仓库 项目文件保存的地方

暂存区 add的的文件或项目还没由commit时候存放的地方

工作区 就是在项目所在位置,对项目文件进行新建、编辑、删除操作的地方

3.2 git基本工作流程

  1. ​ 初始化一个 Git 仓库,使用git init命令。
  2. ​ 添加文件到 Git 仓库,分两步:
  3. ​ 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件;
  4. ​ 第二步,使用命令git commit,完成。

3.3 git 初始化和仓库创建与操作

​ 如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

3.3.1设置用户名

​ git config --global user.name ‘你的网络仓库用户名’

3.3.2 设置用户名邮箱

​ git config --global user.email ‘你的网络仓库注册邮箱’

3.3.3查看设置

​ 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

git log --pretty=oneline

git log --graph --abbrev-commit

3.3.4 添加文件到仓库

​ 创建文件 touch filename

​ git add filename

3.3.5 提交文件到仓

​ 并非所有文件都需要进行版本控制,对不需要版本控制的可以在.gitignore文件中加入文件名,或者目录名,此外git支持通配符和正则表达式,有一点需要注意的, /dir/*/t.txt, dir/**/t.txt

​ git commit -m “操作描述”

3.3.6 修改仓库文件

  1. ​ vi filename
  2. ​ git add filename
  3. ​ git commit -m “操作描述”

3.3.7 删除文件

  1. ​ 删除文件(工作区) rm filename
  2. ​ Git中删除文件 git rm filename
  3. ​ 提交操作 git commit -m “提交操作描述”
  4. ​ 删除目录 使用rm -rf dirname 不使用rmdir

3.3.8 修改文件名称

​ 使用命令 git mv oldname.txt newname.txt

4.git的分支

  1. ​ git branch 查看分支

  2. ​ git branch new_branchname

  3. ​ git checkout branchname 切换分支

  4. ​ git branch -d branchname 删除分支 (但不能删除当前所处分支)

  5. ​ git branch -D branchname 删除分支 (但不能删除当前所处分支)

  6. ​ git merge branchname 合并分支

  7. ​ 合并分支后可以使用git branch -d branchname 可以正常删除分支

  8. ​ 一条commit对象链就是一条工作记录线,每次提交就像一个快照。(单向链表)

  9. ​ HEAD 指向当前分支指针 master指向提交,如果在master分支上新建了一个dev分支,实际上文件一点变化都没有,只是新建了一个名字为dev的指针,与master指向一个提交,若切换到dev分支,HEAD指针就指向了dev

  10. ​ 合并分支冲突,如果在两个分支上修改了同一文件同一位置,git不知以何分支为准合并,所以会提示分支冲突,手工修复冲突。

    会以一下方式显示

    common content

    <<<<<<< HEAD

    branch1 content

    ========

    branch2 content

    ‘’>>>>>>>(编辑器问题 忽略’'号)

  11. git branch -m master master2 就是将分支master名字改为master2

5、分支进阶和版本回退

  1. ​ 分支进阶

    1. fast-forward模式,如果可能,合并分支时Git会用fast-forward模式,在这种模式下,删除分支是会丢掉分支信息,合并分支时加上 --no-ff 参数会禁用fast-forward,由此一来会多出一个commit id

      命令: git --no-ff dev(分支名称)

    2. 查看log git log --graph (一图形化的方式查看提交历史)

  2. ​ 版本回退:

    1. git reset --hard HEAD^ 回退上一个版本
    2. git reset --hard HEAD~100
    3. git reset --hard 3628164…(id)

  3. ​ 上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上 100 个版本写 100 个^比较容易数不过来,所以写成 HEAD~100。

  4. 回到版本 git reflog查看历史命令

6、checkout进阶与stash

  1. checkout 丢弃工作目录或文件的变更 git checkout – [filename] 丢弃暂存区最后一次添加的文件内容所做的变更。

    注意,只有在工区的文件才会起作用,一旦执行了 add指令,就不起作用,因为文件被纳入暂存区了。

  2. git reset HEAD filename 将之前添加到暂存区(stage,index)的内容从暂存区移除到工作区。

  3. git checkout 可以回退到某一个提交点(但是会是游离状态的,git checkout -b commitId 也就是创建一个游离的分支),但是和HEAD有区别 如果进行修改了,commit提交会指向一个新的提交点。如果切换为真实分支,那么提示新建一个分支来保存这个游离的分支。

  4. git stash 保存当前未提交的状态,然后切换分支

    1. git stash list 查看所有临时保存的状态
    2. git stash pop stash@{0} 弹出(恢复)某个临时保存的状态,然后把其他的状态删掉
    3. git stash apply stash@{0} 恢复状态,但不删除状态

7.标签与diff

8、Git管理远程仓库 (代码集中化管理)

4.1将本地仓库同步到远程仓库中

​ 4.1.1 添加远程仓库 git remote add [origin] ‘[url]’ //“origin是git默认的仓库简写名称”

​ 4.1.2 修改远程仓库
​ 修改命令 git remote set-url origin ‘[url]’

​ 先删除后添加 git remote rm origingit remote add origin [url]

​ git push 命令 本地仓库同步到到远程仓库中

4.2git克隆操作

​ 目的:将远程仓库的项目复制到本地

​ git clone 仓库地址

git修改远程仓库地址

方法有三种:

  1. 修改命令

    git remote set-url origin [url]
    
  2. 先删后加

    git remote rm origingit remote add origin [url]
    

发布了51 篇原创文章 · 获赞 9 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/pannubi/article/details/100985606