git入门常用命令行

    科技2024-12-14  14

     

    一、配置用户信息

    安装完git后首先要设置用户名和email地址,每次git提交都会使用到该信息(用户名和email与注册的gitlab、github、gitee等账户无关)

    git config --global user.name = 'jaymou' git config --global user.email = 'jaymou@qq.com'

    查看配置信息

    git config --list ====>结果 diff.astextplain.textconv=astextplain filter.lfs.clean=git-lfs clean -- %f filter.lfs.smudge=git-lfs smudge -- %f filter.lfs.process=git-lfs filter-process filter.lfs.required=true http.sslbackend=openssl http.sslcainfo=D:/programs/devPrograms/Git/mingw64/ssl/certs/ca-bundle.crt core.autocrlf=true core.fscache=true core.symlinks=false credential.helper=manager user.name=jaymou user.email=jaymou@qq.com credential.helper=manager git config user.name

    该配置信息会保存在用户目录下面的.gitconfig文件里面,如:‪C:\Users\jaymou\.gitconfig,内容如下

    [user] name = moujie email = jaymou@qq.com [credential] helper = manager

    二、获取git仓库

      在本地初始化一个git仓库

    git init ====>结果 Initialized empty Git repository in D:/workspace/GitRepos/MyGitRepo/.git/

    执行命令完成后在目录下出现.git目录(隐藏文件夹)

      克隆一个远程仓库

    git clone https://gitee.com/jaymou/my-git-repo2.git 结果====> Cloning into 'my-git-repo2'... remote: Enumerating objects: 7, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (7/7), done. remote: Total 7 (delta 0), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (7/7), done.

    第一次操作需要输入git账户密码(如果是私有仓库,拉取就需要输入用户密码,共有仓库不需要;共有仓库在push时候需要账户密码)

      工作目录、暂存区、版本库

    版本库

    .git文件夹(存放配置信息、日志信息、文件版本信息)

    工作目录

    包含.git文件夹的目录

    暂存区

    .git里面的index文件,也可以叫stage,暂存区是一个临时保存修改文件的地方(是一个二进制文件)

    git工作目录下文件的状态

    untracked 未跟踪(未被纳入版本控制)tracked 已跟踪(被纳入版本控制) unmodified 未修改modified 已修改staged 已经暂存

    三、本地仓库操作

    查看文件状态

    git status git status -s

    将文件纳入版本控制(加入暂存区)

    git add HelloWorld.txt

    取消暂存

    git restore --staged HelloWorld.txt

    将暂存区文件修改提交

    git commit -m 'init HelloWord.txt'

    -m是添加备注信息,如果没有添加-m ,则会进入类似vm的命令窗口进行编辑输入后commit

    git rm 删除文件

    执行完成默认进入暂存区

    如果在目录手动删除文件,则没有提交到暂存区,需要执行git add添加到暂存区

    git添加到忽略列表

    在工作目录下创建.gitignore文件

    查看git日志

    git log 退出:q

    四、git远程仓库操作

    查看远程仓库

    # 默认是origin git remote ====> origin # 列出详细信息 git remote -v ====> origin https://gitee.com/jaymou/my-git-repo2.git (fetch) origin https://gitee.com/jaymou/my-git-repo2.git (push) # 更加详细信息 git remote show origin ====> * remote origin Fetch URL: https://gitee.com/jaymou/my-git-repo2.git Push URL: https://gitee.com/jaymou/my-git-repo2.git HEAD branch: master Remote branch: master tracked Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (fast-forwardable)

    添加远程仓库

    git remote add <shortname> <url> eg. git remote add origin https://gitee.com/jaymou/my-git-repo2.git

    从远程仓库克隆

    git clone 克隆的是该git服务器下的所有数据(包括日志信息、历史记录,每一个文件的每一个版本都被拉去下来)

    git clone [url]

    移除无效的远程仓库

    git remote rm [shortname]

    从远程仓库抓取与拉取

    # 抓取(抓取到本地,但是没有合并) git fetch git fetch origin master # 合并 git merge origin/master # 拉取并合并 git pull origin master # 强行拉取 git pull origin master --allow-related-histories

    推送到远程仓库

    git push origin master # 直接commit不需要add git commit -a -m 'update xxx'

    五、git分支管理

    查看分支

    # 列出所有本地分支 git branch # 列出所有远程分支 git branch -r # 列出所有本地分支和远程分支 git branch -a

    创建分支

    # 创建分支 git branch 分支名称

    切换分支

    git check 分支名称

    推送分支

    git push origin 分支名称

    合并分支

    在需要拉取其他分支代码的分支(通常是master或者总的分支)上,通过使用 git merge 其他分支名称

    合并冲突:

    手动解决冲突,然后add让git知道冲突解决,然后commit

    删除分支

    # 删除本地分支 git branch -d 分支名称 # 删除远程分支 git push origin -d 分支名称

    如果有没有提交的分支代码,-d不能直接删除分支,改为-D才可以强制删除

    六、git标签

    创建标签

    git tag 标签名称

    查看标签

    # 列出所有tag git tag # 查看tag git show [tag]

    检出标签

    # 新建一个分支指向一个tag git checkout -b [branch] [tag]

    删除标签

    # 删除本地标签 git tag -d [tag] # 删除远程标签 git push origin :refs/tags/[tag]

     

    Processed: 0.026, SQL: 8