察看命令的参数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"
恢复编辑器为Vimgit 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 运行
~/.ssh
、pwd
得到.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
连接到GitHubgit 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 forwardgit 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
操作流程大致整理
GitHubgit 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
GitLabgit 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