git最全最常用的命令整理

简介: git最全最常用的命令整理

Git生成私钥

查看单前用户
  git config user.name
  git config user.email
配置自己的身份,这样在提交代码的时候就能知道是谁提交的:
  git config --global user.name "limengfan"
  git config --global user.email "limengfan@qq.com"
查看是否已经有了ssh密钥
  cd ~/.ssh 
  ls
  如果没有密钥则不会有此文件夹,有则备份删除
生存密钥
  $ ssh-keygen -t rsa -C "limengfan@qq.com" 按3个回车,密码为空。
最后得到了两个文件
  id_rsa和id_rsa.pub

基本操作

1.创建仓库
    使用当前目录作为Git仓库,我们只需使它初始化。
      git init 
    使用我们指定目录作为Git仓库
      git init 名称
    查询代码仓库
      ls -al
  2.提交本地代码
    添加文件到缓存中
      git add .       添加所有
      git add 文件名1 文件名2   添加单个文件
    清除不要的修改文件
      git checkout 文件名
    从缓存中删除文件
      git reset HEAD 文件名
    查看添加的文件(A表示已添加的,AM表示添加后又有改动)
      git status -s
    将缓存区内容提交到仓库中
    提交这里要在-m参数后面加上提交参数,不然会被认为不合法不能提交.
      git commit -m "提交测试"
    将提交代码推到远程服务器
      git push
  3.以查看在你上次提交之后是否有修改
    git status 
  4.查看执行 git status 的结果的详细信息
    尚未缓存的改动:git diff
    查看已缓存的改动: git diff --cached
    查看已缓存的与未缓存的所有改动:git diff HEAD
    显示摘要而非整个 diff:git diff --stat
    注意:git status 显示你上次提交更新后的更改或者写入缓存的改动,
       而 git diff 一行一行地显示这些改动具体是啥。
  7.更新本地代码
    git pull
  8.从现有 Git 仓库中拷贝项目
    克隆repo文件到当前目录
      git clone repo
    克隆到指定的目录(及directory目录)
      git clone repo directory  
    要克隆 Ruby语言的 Git代码仓库 Grit,newname指自定义克隆文件名
      git clone git://github.com/schacon/grit.git newname
  7.创建目录
    mkdir 目录名
  8.创建文件
    touch 文件名 
  9.修改文件
    vim 文件名
      按键:i      光标前插入  
      按键:a      光标后插入
    退出编辑
      esc按键
    保存并退出
      输入wq
  10.查看文件内容
    cat 文件名
  11.删除文件
    rm 文件名
    rm -f 文件名   强制删除
    rm –r *   递归删除整个目录中的所有子目录和文件
  12.移动或重命名文件
    mv a.txt  b.txt   将a.txt文件改名为b.txt
    mv a.txt  ./a   将a.txt文件移动到单前的a目录下

不影响当前工作,更新核心代码

# 保存工作现场(将目前还不想提交的但是已经修改的代码保存至堆栈中)
git stash

# 从远程仓库获取最新代码并自动合并到本地
git pull

# pull 命令如果有冲突,先处理冲突

# 恢复工作现场
git stash pop

分支管理(切换分支Git将还原你的工作目录到你创建分支时候的样子)

  1.列出分支
    git branch

    # 查看全部分支
    git branch -a

    注:我们有一个叫做 master 的分支,并且该分支是当前分支。
     git init 的时候,缺省情况下 Git 就会为你创建 master 分支。
  2.创建分支命令:
    git branch 分支名
  3.切换分支
    git checkout (branchname)
  4.创建新分支并立即切换到该分支下
    git checkout -b (branchname)
  5.删除分支
    git branch -d (branchname)
  6.合并分支(你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支)
    git merge 想要合并的分支名
  7.将本地的分支推送到远程主机origin上的对应分支
    git push origin 本地分支名:远程分支名
  8.将本地的master分支推送到origin主机,同时指定origin为默认主机,以后就可以不加任何参数使用git push
    git push -u origin master 
# 将本地的代码提交到git仓库
**创建新版本库**(服务器)
  
  git clone (地址)
  cd guojian_mobile
  touch README.md
  git add README.md
  git commit -m "add README"
  git push -u origin master

**已存在的文件夹或 Git 仓库**(服务器)

  cd existing_folder
  git init
  git remote rm origin                // 删除关联对应的远程仓库地址
  git remote add origin (地址)      //添加git地址
  git remote set-url origin (新地址) //修改git地址
  git add .
  git commit
  git push -u origin master

git更换远程仓库地址

先查看关联的远程仓库地址
git remote -v
修改更新
git remote set-url origin (新地址)

git回退代码

1. 查看代码提交记录
  git log
2. 将最新的3次提交全部重置,就像没有提交过一样。
  git reset --hard HEAD~3  
3. 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
  git reset --hard 38679ed709fd0a3767b79b93d0fba5bb8dd235f8)
4. 查看最近的操作记录
  git reflog
5.回撤后,push 提交会失败,因为当前分支的版本低于远程分支的版本,所以要想覆盖掉它,必须使用force
  git push origin dev --force

git代码修复

在平时开发中,我们有时候可能会因为手误或其它原因将某些重要文件删除。如果之前有将此文件纳入到 Git 中,这时便可以利用 Git 来对误删文件进行恢复。

  1. 查看 Git 状态,能看到有相关提示显示 XXXX 文件已被删除
git status
  1. 下面我们使用 Git 进行恢复被删除文件
git checkout -f

解决git pull/push每次都需要输入密码问题

如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。

进入你的项目目录
输入命令: git config --global credential.helper store
然后你会在你本地生成一个文本,上边记录你的账号和密码。当然这些你可以不用关心。
然后你再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。

冲突解决

//先同步了本地库和远程库,再进行文件的上传。
git pull --rebase origin master
//强制推送本地代码,结果:本地代码会覆盖线上的git仓库的代码
git push -f origin master

git强制覆盖本地代码(谨慎操作,自己本地修改未提交的代码会被覆盖)

(与git远程仓库保持一致:git reset --hard origin/master)

git fetch --all
git reset --hard origin/master      //返回上一步不提交【解决冲突】
git pull

Git 本地分支与远程分支关联

git branch-set-upstream-to=origin/远程分支的名字 本地分支的名字

git branch --set-upstream-to=origin/dev dev

git操作之git commit以后想要回退方法

# 回退到上一个提交状态,并保留修改的文件
git reset --soft HEAD^
目录
相关文章
|
4月前
|
存储 开发工具 git
|
25天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
43 1
[Git]入门及其常用命令
|
4月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
71 0
|
2月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
118 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
29天前
|
开发工具 git 开发者
|
29天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
45 0
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
3月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
3月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
3月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m "Commit message"`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert <commit>`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。