Git基本操作命令

初衷:一直使用github desk界面化工具,想学习一下git命令,帮助更好的理解git的工作方式。 

  • What is Git ?  版本管理工具(VCS)
  1. 分布式版本控制
  2. 多个开发人员协调工作
  3. 有效监听谁做的修改
  4. 本地及远程操作
  • git config
git init                                               #初始化本地git仓库
git config --global user.name "Your Name"              #设置本地git用户名
git config --global user.email "email@example.com"     #设置本地git邮箱
git config --global  --list                            #查看当前用户(global)配置
git config --global credential.helper store            #不需要每次输入邮箱密码了
git clone https://github.com/jakehao-hl/StudyDaily.git #从远程仓库拉取
git remote add origin <url>                            #把本地仓库的内容推送到GitHub仓库。
  • git add / git rm 
git add <file>           #将所有Untracked和Unstaged的文件放入暂存区
git add -A               #提交所有变化
git add -u               #提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .                #提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git rm --cached 3.txt    #将该文件移除暂存区
git rm readme.txt        #不但暂存区中的内容没了,工作区的对应文件也会被删除,比较彻底。
git rm -r --cached filename  #去掉已经托管在GIT上的文件
git checkout -- file      #未使用 git add 缓存代码时
git reset HEAD readme.md  #已经使用了 git add 缓存了代码
git reset --hard HEAD^    #已经用 git commit 提交了代码
  • git status
git status                       #查看状态
git status -s                    #来查看简写的状态

#git status命令用于显示工作目录和暂存区的状态。
#使用此命令能看到,未跟踪状态(Untracked),位于暂存区待提交状态(Staged),Modified状态。
#git status不显示已经commit到项目历史中去的信息。
#看项目历史的信息要使用git log
  • git branch / git checkout / git merge 
git branch                           #查看本地所有的分支
git branch -a                        #查看远程所有的分支
git branch <name>                    #创建分支
git branch –d dev                    #删除dev分支
git push origin --delete dev         #删除远程的dev分支
git branch -m dev develop            #重命名分支
git checkout –b dev                  #创建dev分支 并切换到dev分支上
git merge dev                        #在当前分支上合并dev分支代
git push origin dev                  #把当前新增的dev分支推送到远程库(远程仓库没有给分支则会新建立该分支)
git checkout — *                     #把XX文件在工作区的修改全部撤销。
git checkout master                  #切换回master分支
git push --set-upstream origin dev   #提交修改并创建远程分支dev
git checkout -b dev origin/dev       #切换远程分支,切换远程的dev分支到本地, 本地分支名称叫dev  
git fetch origin dev:dev             #切换远程分支,切换远程的dev分支到本地, 本地分支名称叫dev 
  • git log
git log -p reset.txt                           #搜索git日志通过文件名搜索
git log --pretty=format:"%h - %an, %ar : %s"   #定制要显示的记录格式
git log -p -2                                  #显示最近的两次提交
git log --author 'Jake'                        #仅显示作者匹配指定字符串的提交
git log --grep 'reset3'                        #搜索提交说明中的关键字
git log --pretty=oneline                       #如果信息量太多可以进行比较好的列表显示
  • git diff
git diff              # 比较当前文件和暂存区中文件的差异,显示没有暂存起来的更改
git diff --cached     # 在下次提交时要提交的内容,同下面一个
git diff --staged     # 比较暂存区中的文件和上次提交时的差异
git diff HEAD         # 比较当前文件和上次提交时的差异
git diff <commit ID>                    # 查看从指定的版本之后改动的内容
git diff <branch name> <branch name>    # 比较两个分支之间的差异
git diff <branch name>...<branch name>  # 查看两个分支分开后各自的改动内容
  • git commit / git reset / git revert
git commit -m “message”          #提交
git checkout -- <file>           #恢复某个已修改的文件(撤销未提交的修改)


#没有push
git reset --hard HEAD^           #彻底将工作区、暂存区和版本库记录恢复到指定的版本库目录里的内容(慎用)
git reset --mixed HEAD^          #仅仅只是撤销已提交的版本库和暂存区,不会修改工作区
git reset --soft HEAD^           #相当于调用 "git reset --mixed" 命令后又做了一次 "git add"

#已经push
git revert c011eb3c20ba6fb38cc94fe5a8dda366a3990c61
  • git fetch / pull / push
git fetch                 #git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
git pull                  #即git fetch + git merge,这样可能会产生冲突,需要手动解决。
git push                  #推送到仓库
  • git stash
git stash save "save message" #执行存储时,添加备注,方便查找,只有git stash 也要可以的
git stash pop                 #恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除
  • 图解1

  • 图解2

  • 图解3

参考:

Git常用命令汇总以及其它相关操作

Git 基础 - 查看提交历史

Git命令大全

git stash 用法总结和注意点

 

 

 

 

 

 

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。以下是Git的一些基本操作命令: 1. `git init`:初始化一个新仓库。在项目根目录下执行此命令Git将创建一个名为.git的子目录,这个子目录中含有初始化的Git仓库中所有的必须文件,这些文件是仓库的骨干。此时,仓库还是空的。 2. `git clone [url]`:克隆(下载)一个远程仓库到本地。这个命令会在本地创建一个目录,其中包含远程仓库中的所有文件。 3. `git add [file]`:将文件添加到暂存区。这个命令把文件从工作区添加到暂存区,为下一步提交做准备。 4. `git commit -m "[descriptive message]"`:将暂存区的内容提交到本地仓库的历史记录中。每次提交都会为项目的历史记录增加一个新的快照。 5. `git status`:查看文件状态。此命令显示当前分支的状况,以及未提交的更改、已暂存的文件等。 6. `git push [remote-name] [branch-name]`:将本地仓库的分支推送到远程仓库。这一步会把本地未推送的提交推送到远程的master分支上。 7. `git pull [remote-name] [branch-name]`:从远程仓库获取并合并到本地仓库。这个命令用于从远程获取最新的版本并自动合并到本地的当前分支。 8. `git branch`:列出、创建或删除分支。不带参数运行时,它列出当前所有分支。 9. `git checkout [branch-name]`:切换分支或恢复工作区文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值