Git常用命令

学习并掌握基本的Git命令

1.环境配置
这是比较重要的一步,因为Git每次提交都会使用该用户信息,所以安装Git后首先要做的事情是设置用户名称和email地址。

  • 设置用户信息
    git config --global user.name “lai”
    git config --global user.email “[email protected]
    ps:这里的user.name跟user.email是可以设置为任意名称的,Git提交时并不会进行验证。
  • 查看配置信息
    git config --list
    通过上面的命令设置的信息会保存在~/.gitconfig文件中

2.获取Git仓库
获取Git仓库有两种方式:

  1. 在本地初始化一个Git仓库 命令:git init
  2. 从远程仓库克隆 命令:git clone [url]

3.Git工作目录下的文件存在两种状态

  • untracked(未被纳入版本控制)
  • tracked(被纳入版本控制)
    • Unmodified 未修改状态
    • Modified 已修改状态
    • Staged 已暂存状态
      ps:这些文件的状态会随着我们执行Git的命令发生变化

4.本地仓库操作

  • 查看文件状态:git status
    使输出信息更加简洁:git status -s

  • 将文件添加到暂存区:git add 文件名

  • 将暂存区的文件取消暂存:git reset 文件名

  • 将暂存区的文件提交到本地仓库:git commit -m ”日志内容“
    -m:写日志
    也可输入git commit后敲Enter进入编辑器编辑日志内容
    总之,commit前一定要先写日志,才能commit。

  • 删除文件:git rm 文件名
    ps:这删除的只是工作区中的文件,需要提交到本地仓库,才算真正删除

  • 将文件添加至忽略列表
    ps:有些文件无需纳入Git的管理,也不希望他们出现在未跟踪列表里。通常都是些自动生成的文件,或者是编译过程中创建的临时文件。这时我们就可以创建一个文件(.gitignore,注意名称是固定的),列出要忽略的文件模式。

  • 查看日志记录:git log

5.远程仓库操作

  • 查看远程仓库:git remote
    ps:查看的更仔细:git remote -v

  • 添加远程仓库:git remote add [shortname] [url]
    ps:shortname是给远程仓库起一个名字。另外,一个本地仓库可以同时对应多个远程仓库

  • 从远程仓库克隆:git clone [url]

  • 移除无效的远程仓库:git remote rm
    ps:该命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库

  • 从远程仓库拉取代码

    • git fetch:不会自动merge,需要手动
    • git pull:会自动merge
      ps:注意这一点:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件时就会报错(fatal:refusing to merge unrelated histories),解决此问题可以在git pull 命令后加入参数–allow-unrelated-histories
  • 推送到远程仓库:git push [remotename] [branchname]

6.Git分支

  • 查看分支

    • 列出所有本地分支:git branch
    • 列出所有远程分支:git branch -r
    • 列出所有本地和远程分支:git branch -a
  • 创建分支:git branch [branchname]
    eg:git branch b1

  • 切换分支:git checkout [branchname]

  • 推送至远程仓库分支:git push [remotename] [branchname]

  • 合并分支:git merge [branchname]
    ps:合并分支时需注意这一点:如果在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,那Git就没法合并他们,同时会提示文件冲突。解决方案:打开冲突的文件并修复冲突内容,最后执行git add命令来标识冲突已解决。

  • 删除分支:git branch -d [branchname]
    强制删除分支:git branch -D [branchname]

7.Git标签

  • 列出已有标签:git tag
  • 查看特定tag信息:git show [tag]
  • 新建一个tag:git tag [tagname]
  • 将tag推送至远程仓库:git push [remotename] [tagname]
  • 新建一个分支,指向某个tag:git checkout -b [branchname] [tagname]
  • 删除标签
    • 删除本地tag:git tag -d [tagname]
    • 删除远程tag:git push [remotename] :refs/tags/[tagname]

—end----
感谢观看,希望对你有所帮助!

你可能感兴趣的:(Git,git)