Git常用命令总结

一、常用拉取提交代码
1、拉取代码
基本拉取:git clone [git地址]
拉取并保存账号:git clone https://账号:密码@gitee.com/robots2/test.git
2、本地修改代码后查看调整
git pull:获取当前分支最新代码
git pull origin master           合并master代码到本地分支
git fetch origin test:test       拉取远端test到本地test分支
git checkout test                切换本地分支
git checkout .                     放弃本地修改内容,初始化
git checkout . && git clean -xdf        丢弃本地所有修改-df 删除的文件和目录
git rm -r --cached test.txt    本地还没提交的话删除这个文件,本地提交了可把这个文件从添加列表去除
git reset HEAD 文件名           添加暂存区后去除某个文件
3、分支操作
git checkout -b dev              在当前分支 创建并切换到另外一个分支 
git branch -d "分支名称"       删除本地分支
git branch "分支名称"            创建一个新的分支
git branch -r -d origin/new_code_table 删除本地和远端分支
git merge test                      合并test分支到当前分支
git branch                            查看本地分支
git branch -a                       可以查看所有本地+远程仓库分支
git push origin "本地分支:远程分支"                   将本地分支推送至远程仓库
git push origin --delete 分支名称                     删除远程分支
4、推送代码
git stash                          暂存本地修改的代码
git stash list                     查看本地暂存的列表
git pull origin master         拉取远端代码
git stash pop                   恢复暂存的代码与本地合并
git push origin test           推送到远端test分支
git add .                          添加本地修改的文件到暂存区
git commit -m "注释"       填写提交注释
git commit --amend        修改未push的上次提交注释
git push origin "本地分支名称:远程分支名称"  将本地分支推送至远程仓库
 
二、查看git常用信息
git reflog                    查看提交记录
git log -3                   查看当前分支最近3次提交记录
git log -p test.java      查看某个文件的修改
git diff 文件名             查看未提交的文件修改
git remote -v              查看远端别名
git log --graph           查看分支的提交记录
git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr
                                 查看之前提交的排行榜
git log --author="wangshida" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -    
                                查看某人提交代码量
 
 
三、git配置信息调整
1、配置本地git账户
git config --global user.name "test"
git config --global user.email "test@163.com"
2、添加删除git地址别名
git remote add origin [git地址1]
git remote add private [git地址2]
git remote remove [origin删除别名]
3、保存git账号
3.1 拉取并保存本仓库账号:git clone https://账号:密码@gitee.com/robots2/test.git
     注:该方式会把账号信息保存到  ~/.git-credentials
3.2 永久保存git账号密码
    第一步:先clone代码到本地
    第二步:git config --global credential.helper store
    第三步:git config --local credential.helper store
    注:该命令会全局地长期地存储在本地,即使重装git密码也存在。这里保存的账号和密码会自动应用到每一个git clone指令,
          如果想要克隆的不是该账号下的项目,就只会得到403错误
          恢复方式:rm ~/.git-credentials,删掉git config --global credential.helper store保存的账号和密码。
 3.3 保存指定时间的账号密码
    git config credential.helper 'cache –timeout=3600'
 
四、回滚操作
git reset --hard e377f60e28c8b84158   回滚到某个版本
git push -f origin test111                       强制提交到远端某个分支
 
五、本地代码初始化到仓库
1、进入开发目录
cd /Users/Robots2/javaProject/test
git init
git config --global user.name "wangshida"
git config --global user.email "wangshida@baijia.com"
 
六、常用套装操作
1、创建git仓库后第一次上传到仓库
先在git网站创建项目
git init
git add .
git commit -m "Initial commit"
git remote add origin [git地址]
git remote -v                             查看远端别名
git pull origin master                   先拉取远端master
git push --force robots master    本地master替换远端master
2、git 本地误删文件,还未提交,恢复文件
rm log4j-all.log
git reset HEAD log4j-all.log
git checkout -- log4j-all.log
 
七、tag操作
1、删除本地和平台tag
git tag -d b_biapp-service_1.0.1.4_20210420
2、查找上次提交上线的commit
git log --oneline
3、删除远端tag
git push origin --delete tag v20190725_tag      
4、本地分支打tag
git tag -a  tag名称  7d22f7b5
5、非常规操作,合并分支代码到tag上
git checkout tag名称
git merge [分支名称]
6、推送tag到远端
git push origin [tag名称]
7、拉取远端tag
git fetch origin [tag名称]
八、扩展
git rebase meicai/currentbranch      合并本地commit内容为一个
git cherry-pick 2555c6e                 其他分支的某次提交代码合到本分支上
 
九、.gitignore 免提交配置
新建该文件,内容如下
.idea/
*.iml
target/
.DS_Store
.classpath
.project
.settings/
*.log
dependency-reduced-pom.xml
.gitignore

 

十、git重要概念
1、关于git中HEAD指针的问题
git中存在一个HEAD指针,即为每次提交一次HEAD指针就会向前进一位,这里要说明的是HEAD指针存在于暂存区和提交区,而不存在于工作区。也就是说在上一版的基础上,如果我们使用git add命令,那么此时HEAD指针会进入到暂存区,继续用git commit,此时会进入到提交区。
 
2、关于git reset的原理说明
git reset的原理简单来说就是把HEAD指针回退一位。即如果你在提交区,那么你回退一位就是暂存区,如果你在暂存区,那么指针会回退到上一次的提交区。
 
3、git reset的三种使用方法
git  reset  --soft
git  reset  --mixed
git   reset   --hard
其中soft就是reset中最原始的用法,只是将HEAD指针移动到上一次。而mixed则对其又进了一步,除了将HEAD指针移动到上一次的提交,还将暂存区的内容也一并清空。hard命令则对其又进了一步,除了HEAD指针移动到上一次的提交和将暂存区的内容也一并清空外,还将工作区的内容也一并清空。即:
soft:移动指针
mixed:移动指针+清空暂存区
hard:移动指针+清空暂存区+清空工作区。
posted @ 2022-08-24 14:37  黑水滴  阅读(152)  评论(0编辑  收藏  举报