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^
目录
相关文章
|
2月前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
72 1
|
2月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
279 0
Git教程:深入了解删除分支的命令
|
2月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
59 0
|
2月前
|
开发工具 git
git常用命令整理
git常用命令整理
|
2月前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
31 0
|
12天前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
21 1
|
2月前
|
Shell 网络安全 开发工具
GIT常用命令
GIT常用命令
|
23天前
|
存储 安全 项目管理
Git项目管理——Git常用命令汇总(五)
Git项目管理——Git常用命令汇总(五)
21 1
|
2天前
|
开发工具 git
掌握Git必备:最常用的50个Git命令
掌握Git必备:最常用的50个Git命令
8 0
|
2天前
|
开发工具 git
git 的基本命令
git 的基本命令