git入门常用命令行

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:17   1454   0

一、配置用户信息

安装完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工作目录下文件的状态

  1. untracked 未跟踪(未被纳入版本控制)
  2. 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]

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP