关于 git 的一些常用命令

创建版本库:

       在当前目录初始化一个Git仓库:git init

工作区和暂存区:

  1. 将文件提交到暂存区(stage):git add <文件名>
  2. 将暂存区(stage)的文件提交到master:git commit –m <“备注”>
  3. 查看工作区状态:git status
  4. 查看工作区文件被修改的内容:git diff

 

              撤销修改:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout - <文件名>

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <文件名>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本控制,不过前提是没有推送到远程库。

版本控制:

       回退到之前版本:git reset –hard HEAD^

#(恢复到上一个版本就是HEAD^,上上个版本就是HEAD^^,……)

       跳到指定版本:git reset –-hard <版本id>

       查看提交历史:git log git log --graph –pretty=oneline –abbrev-commit

       查看之前之后提交的所以历史:git reflog

远程仓库:参考

关联一个远程库(例如关联github的库):git remote add origin [email protected]:<用户名>/learngit.git

       第一次往远程库推送内容:git push –u origin master

       向远程库推送内容:git push origin <分支名>

       从远程库克隆:git clone [email protected]:centos11/giitskills.git

分支管理:

       创建与合并分支:

  1. 查看分支:git branch
  2. 查看分支合并情况:git log --graph --pretty=oneline --abbrev-commit
  3. 创建分支:git branch <分支名>
  4. 切换分支:git checkout <分支名>
  5. 创建并切换到该分支:git checkout –b <分支名>
  6. 合并某分支到当前分支:git merge <分支名> (默认快速合并)
  7. 普通分支合并:git merge --no-ff -m “备注” <分支名>
  8. 删除分支:git branch –d <分支名>
  9. 强制删除分支:git branch –D <分支名>

 

       多人协作:

  • 查看远程库信息,使用git remote -v
  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

标签管理:

       创建与查看标签:

       创建一个新标签:git tag <tagname>  (默认为HEAD创建一个标签)

       为指定id创建标签:git tag <tagname> <commit_id>

       指定标签信息:git tag –a <tagname> -m “备注“

       查看所有标签:git tag

       查看历史提交的commit id:git log --pretty=oneline --abbrev-commit

       查看标签信息:git show <tagname>

       操作标签:

              推送一个本地标签到远程:git push origin <tagname>

              一次推送全部尚未推送到远程的本地标签:git push origin –tags

              删除一个本地标签:git tag –d <tagname>

              删除一个远程标签:git push origin: refs/tags/<tagname>

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_42009634/article/details/81784303