Git操作

获取Git仓库

  • 尚未进行版本控制的项目目录:

    首先进入到项目目录中

    cd /Users/chloe/desktop/porject

    git init

    该命令创建一个名为.git的子目录,即初始化git仓库

  • 已存在文件的文件夹中进行版本控制

    git add *.c

    git add LICENSE

    git commit -m 'initial project version

  • gitignore

    在目录中新建.gitignore文件,将不需要上传到仓库的文件名写到文件中

独自使用git的操作

每次更新到仓库

git add . 把提交的文件放置到暂存区里 or git add 文件名

git commit -m "注释" 把暂存区中的代码提交到远程仓库中

git status 查看当前的项目的状态(是否有改动)

git log 查看项目的所有提交记录

git log --author="Jennie" 查看某个人提交的代码记录

配置git用户名和邮箱

git config --global user.name 'JENNIE'

git config ---global user.email 'dehuwifu@qq.com'

git config --global --list 查看用户的账号密码

操作文件

git rm demo.html 删除文件

给文件重命名

手动重命名文件

git stats会显示

之后两个操作:
git add home.html

git rm demo2.html

命令行重命名文件

git mv demo2.html home.html 改动前,改动后

移动文件到其他位置

git mv demo2.html home 移动到home文件夹中

git mv demo2.html home/home.html 移动到home文件夹中并且重命名

查看文件前后变化

git log --pretty=oneline home/home.html

返回了commit的ID及内容

git show +id 查看这个commit是谁做的

git log -p home/demo.html 查看具体修改内容

操作失误后一键还原(回到最后一次提交的时候)

改动内容不多的情况下

git diff 找到有哪些不同的地方

红色是改动之前,绿色是改动之后

只看哪些文件被修改,不看内容

git status

一键还原

git checkout -- home/home.html

不再追踪时如何撤销追踪操作

如果把文件加到暂存区中git add .,git就会实现文件追踪

加入到暂存区之后,就不能用上面的方法一键还原了,因为已经实现了追踪

git reset HEAD home.home.html 撤销追踪

git status 查看,就是红色的状态了,说明没有加入到暂存区中(没有被追踪)

然后可以git checkout -- home/home.html

想要回到上一版本或指定版本时

第一种方法

git reset --hard HEAD^ 一个尖括号表示回到上一个版本

("版本12345"是在每次commit时加的注释)

git log 时就不会显示新的版本

第二种方法

git reset --hard +commitID(可以只是前几位)

将某一文件回到旧的版本,其他文件还是当前版本

git log 查看版本ID

git checkout +commitID(前几位也🉑️) -- version.html

修改内容后推送至远程仓库

git push origin master 本地的 master 分支推送到 origin 主机的 master 分支

给每个版本创建一个独特标签

git tag v1.0 创建标签,默认增加在最新的commit里面

git tag 查看标签

git tag v0.5 +commitID 给指定commit加标签

git tag -d v0.5 删除某一标签

git push origin v1.0 把标签推送到远程仓库

创建、删除、切换分支的操作

git branch dev 创建一个叫dev的分支

git branch 查看分支,分支是按首字母顺序排的,有*的代表现在所在的分支

git checkout dev 跳转到dev的分支上

git branch -d dev 删除分支,不能删除目前所在的分支,也不能删除有commit操作的分支

git checkout -b test 创建分支,并且直接跳转到test分支

git branch -D test 强制删除分支

git checkout -b test remotes/origin/test 创建并跳转到test分支,并将分支与远程的分支相关联

合并分支

先切换到主分支 git checkout master

把dev分支的代码合并到主分支 git merge dev

解决合并分支时的冲突

两个分支都修改了同一个地方后,git merge dev会报错

第一种办法

git merge -abort 保留原分支,忽略其他分支的代码

第二种办法

手动修改后,git add commit push...

git多人分支集成协作

不同人想要查看版本路线

git log --oneline --graph 查看版本路线

不同人想要删除不想要的分支

git fetch 拉取远程仓库

git branch -av 查看分支情况

git push origin --delete summer 远程仓库中删除summer这个分支

删除前,要确认分支是不是真的不需要了,确认分支的代码是不是已经合并到master了

不同人修改了不同文件

git fetch git add . git commit -m 修改了css文件 git push

会报错,因为出现冲突

应该先合并之前的代码:

查看分支情况git branch -av

合并分支 git merge origin/test

推送至远程仓库 git push

不同人修改了相同文件

先拉取远端的代码 git pull

提交更新 git commit

再推送 git push

posted @ 2021-07-01 14:16  GladysChloe  阅读(36)  评论(0)    收藏  举报