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网站创建项目

mkdir spring-boot-template

cd spring-boot-template

git init

=======编写代码========

git add .

git commit -m "Initial commit"

git remote add origin [git地址]

git remote -v                             查看远端别名

git pull origin master                   先拉取远端master

git push -u origin "master"          方式1推送远端master分支

git push --force robots master    方式2本地master替换远端master

2、已有本地仓库

cd 项目文件夹

git remote add origin https://gitee.com/robots2/spring-boot-template.git

git push -u origin "master"

 

3、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-03-15 14:26  黑水滴  阅读(173)  评论(0编辑  收藏  举报