Git指令



察看命令的参数
cmd --help


目 录
-配置
-代理配置
-大致流程


-文件操作


-本地常用指令 | -本地常用指令表 |
-远程常用命令 | -多人协同


配置

$ git config --global user.email "xxxx@163.com"

$ git config --global user.name "lalala"

察看所有git配置
git config --list --show-origin

察看单个配置
git config uesr.name

移除[user]部分
gif config --global --remove-section user
-global 可以是 local、system

编辑配置文件
git config --global --edit


配置编辑器为Notepad++
git config --local core.editor "'D:/xxxxxx/xxxxx/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

恢复编辑器为Vim
git config --global --unset core.editor


配置代理 [注意端口可能不是1080,注意协议]

  • 全局
    git config --global http.proxy http://127.0.0.1:1080
    git config --global https.proxy https://127.0.0.1:1080

  • 单独配置github
    git config --global http.https://github.com.proxy https://127.0.0.1:1080
    git config --global https.https://github.com.proxy https://127.0.0.1:1080

    git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
    git config --global https.https://github.com.proxy socks5://127.0.0.1:1080

  • 重置代理配置
    git config --global --unset http.proxy
    git config --global --unset https.proxy


HTTP协议 【需要每次输入密码】
全局
git config --global http.proxy http://127.0.0.1:1080
git config --global https.proxy https://127.0.0.1:1080
单独配置
git config --global http.https://github.com.proxy https://127.0.0.1:1080
git config --global https.https://github.com.proxy https://127.0.0.1:1080


SSH协议 【需要设置 config文件】
全局
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks://127.0.0.1:1080
单独配置
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
git config --global https.https://github.com.proxy socks5://127.0.0.1:1080

  • git-bash 运行 ~/.sshpwd得到 .ssh的路径
  • 如果没有config文件则新建[没有后缀名]
  • 文件内容为下文,修改后保存
ProxyCommand connect -S 127.0.0.1:1080 %h %p
# -S: SOCKS    -H: HTTP

建议采用如下分域名代理设置

# 必须是 github.com
Host github.com
   HostName github.com
   User git
   ProxyCommand connect -S 127.0.0.1:1080 %h %p
   # -S: SOCKS    -H: HTTP

文件操作

  • 当前目录
    pwd
  • 跳转
    cd d:\wula\test
  • 枚举
    dir
    dir d:\test
    ls
  • 新建目录
    mkdir test
    mkdir test/img -p
  • 重命名
    mv name0 name1
  • 新建文件
    echo test.py
    echo 'import this'>wula.py
  • 删除目录
    rm -rf test
  • 删除文件
    rm wula.py
  • 移动
    mv test img/wula
  • 复制
    cp lal.py test/lal.py
    cp obj d:/new/test -r [拷贝多级目录]

cp -r fold1 fold2

参数说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

实例
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

$ cp –r test/ newtest     

本地基本指令

git init
把当前目录变成Git管理仓库。

find . -name '.git' | xargs rm -rf
删除本地Git仓库【删除了.git 目录】

git add readme.txt
将文件添加到暂存区

git commit -m '提交了文件readme.txt'
把文件提交到仓库+信息

git status
察看是否还有文件未提交

git diff readme.txt
察看文件改动内容

git log
察看历史记录

git log --pretty=oneline
察看简化历史记录

git resest --hard HEAD^
退回上一版本
git reset --hard HEAD^^
退回上上个版本
git reset --hard HEAD~90
退回到前90版本

git reflog
察看修改对应版本号
git reset --hard 版本号
退回到版本号对应的版本

cat readme.txt
察看readme.txt内容

git restore -- readme.txt
撤销readme.txt文件工作区的修改

常用指令表
git init 把当前目录变成Git管理仓库。
git add readme.txt 将文件添加到暂存区
git commit -m '提交了文件readme.txt' 把文件提交到仓库+信息
git status 察看是否还有文件未提交
git diff readme.txt 察看文件改动内容
git log 察看历史记录
git log --pretty=oneline 察看简化历史记录
git resest --hard HEAD^ 退回上一版本
git reset --hard HEAD^^ 退回上上个版本
git reset --hard HEAD~90 退回到前90版本
git reflog 察看修改对应版本号
git reset --hard 版本号 退回到版本号对应的版本
cat readme.txt 察看readme.txt内容
git restore -- readme.txt 撤销readme.txt文件工作区的修改

远程常用命令

ssh-keygen -t rsa[一路回车,用户文件下找.ssh]
生成私匙公匙(SSH KEY)
-私id_rsa
-公id_rsa.pub

查看远程信息
git remote -v

连接到GitHub
git remote rm origin
git remote add origin git@github.com:用户名/工程名.git
git push -u origin master
强制push【会覆盖仓库文件】
git push -f origin master
后续提交
git push -u origin master
克隆到本地仓库
git clone git@github.com:用户名/工程名.git

克隆指定分支
·git clone -b branch_1 git@github.com:用户名/工程名.git·


创建分支
git branch newone
切换到分支
git checkout newone
创建并切换到分支
git checkout -b newone
newone分支合并到master【master分支情况下】
git merge newone
删除分支
git branch -d newone

察看分支合并情况
git log
合并分支,禁用fast forward
git merge --no-ff -m "注释内容" newone


多人协同

察看远程库信息
git remote
git remote -v 详细信息

推送分支
git push origin master
git push origin newone
抓取分支
git clone https://github.com/用户名/工程名.git 克隆到本地仓库
git checkout -b newone origin/newone 创建本地newone分支
-于是可以将本地newone分支同步到远程仓库newone分支

抓取最新提交【合并】
git pull


操作流程大致整理

GitHub
git init
git add .
git commit -m '注释'
Github手动创建一个空仓库【如果本地已经建好仓库,就不要勾选readme等文件】
git remote add origin git@github.com:username/repname
git push -u origin master 只有第一次需要 -u
git pull

git clone git@github.com:username/repname


GitLab
git init
git add .
git commit -m '注释'
git remote add origin git@gitlab.com:username/repname
git push -u origin master 只有第一次需要 -u
git pull

git clone git@gitlab.com:username/repname





文章作者: pxoxq
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 pxoxq !
  目录