Git-命令

分布式 VCS

服务端和客户端都有完整的版本库

脱离服务端,客户端照样可以管理版本

安装 Git 

Git - 安装 Git

命令终端查看 git 版本:git --version

最小配置

配置 user.name 和 user.email

git config --global user.name 'your_name'

git config --global user.email 'your_eamail@domain.com'

添加配置

git config [--local | --global | --system] user.name 'Your name'

git config [--local | --global | --system] user.email 'Your email'

local:区域为本仓库

global: 当前用户的所有仓库

system: 本系统的所有用户

查看配置

git config --list [--local | --global | --system]

创建第一个仓库并配置 local 用户信息

建 Git 仓库场景:

1)把已有的项目代码纳入 Git 管理

cd 项目代码所在的文件夹

git init

2)新建的项目直接用 Git 管理

cd 某个文件夹

git init your_project 

cd your_project 

添加 local 用户配置

git config --local user.name 'Your name'

git config --local user.email 'Your email'

查看 local 配置

git config --list --local

文件操作

文件重命名  git mv test_1.txt test_2.txt

结合IDE 一起用;常用常新

git help [todo]

Git - 获取帮助 (git-scm.com)

最全的git命令(详细)和对常见git操作流程讲解 - 掘金 (juejin.cn)

分支本地远程
代码工作区暂存区版本库远程仓库

一个分支上

的代码

写代码

代码 加入到

Git管理

代码提交

形成 记录

代码记录

同步到 共享代码库

版本变更历史

git log : 查看当前分支的 log
git log -n4
git log --oneline
git log -n4 --oneline
git log --all : 查看所有分支的 log
git log --graph : 图形 log
git log --oneline --all -n4 --graph
git branch -v :查看本地分支信息

工作区

放弃工作区修改

git checkout - <filepathname> (放弃单个文件修改)

git checkout .  (放弃所有修改)

工作区-> 暂存区

.gitignore 忽略特定文件,支持通配符

*.a             表示忽略所有 .a 结尾的文件
!lib.a          表示lib.a除外

/TODO           表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/          表示忽略 build/目录下的所有文件,过滤整个build文件夹;
doc/*.txt       表示会忽略doc/notes.txt但不包括 doc/server/arch.txt
 
bin/:           表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin:           表示忽略根目录下的bin文件
/*.c:           表示忽略cat.c,不忽略 build/cat.c
debug/*.obj:    表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         表示忽略/foo,a/foo,a/b/foo等
a/**/b:         表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    表示不忽略bin目录下的run.sh文件
*.log:          表示忽略所有 .log 文件
config.php:     表示忽略当前路径的 config.php 文件
 
/mtk/           表示过滤整个文件夹
*.zip           表示过滤所有.zip文件
/mtk/do.c       表示过滤某个具体文件

git add *

工作区<- 暂存区 取消暂存

git restore --staged <文件名>  取消暂存单个文件
git restore --staged <文件1> <文件2> ...  取消暂存多个文件
git restore --staged .  取消所有暂存文件

工作区<- 暂存区 丢弃修改

git reset HEAD <filepathname> (放弃单个文件修改)

git reset HEAD . (放弃所有修改)

暂存区

git stash save  (隐藏暂存代码但不删除)

<- git stash list  (暂存列表)

<- git stash apply  (取消最近一次暂存)

<- git stash apply stash@{n}    n ∈[0,n) (取消 第n+1次 暂存)

暂存区->版本库

git commit -m ['commit_message']  (提交到版本库)

暂存区->版本库 追加提交

git commit --amend -m  ['commit_message']  (修改上次提交到版本库,push 前可操作)

暂存区<-版本库 取消版本

git reset --soft HEAD~n  n ∈[1,n] (回退到前n次提交)

idea 可视化中 是 git undo commit

版本库->远程仓库

git push origin master (first push)  (提交到远程仓库)

<-git push (not first push) 

版本库->远程仓库 取消

git reset --soft HEAD~n  n ∈[1,n] (回退到前n次提交) git push --force (取消提交到远程仓库)

<-git revert --soft HEAD~n  n ∈[1,n] (回退到前n次提交 形成新提交) git push (提交到远程仓库)

<- git reset --hard HEAD@{n} n ∈[1,n] (取消 前n次的回退)

版本库<-远程仓库

git clone  (first full get)

git pull  (not first full get)

git merge (合并冲突代码)

删除远程仓库文件

git rm -r --cached <文件夹>

git commit -m 'delete xxx'

git push

本地分支->远程分支

git checkout -b [branch_name] (新建分支 并切到新分支)

git push origin [branch_name]   (提交 本地分支 到  远程分支)

本地分支

git cherry-pick [commit]   (选择一个 提交记录 合并 到 当前分支)

git branch -d [branch-name]  (删除本地分支)

git branch -dr [remote/branch]  (删除远程分支)

本地分支<-远程分支

git fetch (拉分支)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值