git 常用命令

其他

// 全局配置:
git config --global user.name "mtshen"
git config --global user.email "[email protected]"

// 克隆仓库
git clone [email protected]:mtshen/test.git

// 修改文件
cd testecho "master" >> master.txt

// track文件
git add master.txt

// 提交到本地库
git commit -m 'first commit'

// 本地库推送到远程
git push -u origin master

// 查看本地状态
git status

// 重命名文件
git mv file_old file_new

// 从版本库中删除文件,本地文件也删除
git rm file

// 从版本库中删除文件,本地文件不删除
git rm file --cached

// tracked的文件变为untracked
echo "new" >> new.txt
git add new.txt
git status
git reset -- new.txt
git status

// 取消某个已经在版本库里文件的修改
echo "append" >> dev.txt
git checkout -- dev.txt

// 查看修改历史
git loggit log -- file
git log -p -2 -- file

// 只删除所有untracked的文件
git clean -dfx

// 只把所有tracked的文件恢复到前一个版本
git reset --hard

// 将远程的修改更新到本地
git pull

// 清理屏幕
clear

分支

// 查看本地分支
git branch

// 查看远程分支
git branch -r

// 重命名本地分支
git branch -m dev dev2

// 删除本地分支
git branch -d dev

// 删除远程分支
git push origin :dev

// 合并分支
git merge mtshen

// 克隆分支并切换
git checkout master -b mtshen

// checkout远程已有分支
git checkout -b dev origin/devecho "dev" >> dev.txt
git add dev.txt
git commit -m 'dev'
git push -u origin dev

// 从本地分支创建新分支
git checkout -b devecho "dev" >> dev.txt
git add dev.txt
git commit -m 'dev'
git push -u origin dev

标签

// 查看已有标签
git tag

// 添加标签
git tag -a tag2.1.1 -m "2.1.1"

// 将标签推送到远程
git push origin tag2.1.1

// 补加标签
git log
git tag -a tag2.1.1 9fbc3d0

// 删除本地标签
git tag -d tag2.1.1

// 删除远程标签
git tag -d 3.0.4
git push origin :refs/tags/3.0.4

// 重命名标签
git tag -d 3.0.4
git push origin :refs/tags/3.0.4
git push origin --tags
git tag -a 3.0.5 -m "3.0.5"
git push origin --tags

冲突:

// dev-one:
git clone [email protected]:rlliang/test.git
cd testecho "aaa" > a.txt
echo "bbb" >> a.txt
git add a.txt
git commit -m 'first commit'
git push -u origin master

// dev-two:
git clone [email protected]:rlliang/test.git
cd test

// dev-one:
echo "ccc" > a.txt
echo "bbb" >> a.txt
git add a.txt
git commit -m 'second commit'
git push -u origin master

// dev-two:
echo "ddd" > a.txt
echo "bbb" >> a.txt
git add a.txt
git commit -m 'third commit'
git push -u origin master

// 撤销提交到远程的commit:
git clone [email protected]:rlliang/test.git
cd test
echo "1" > 1.txt
git add .
git commit -m "1"
git push -u origin master
echo "2" > 2.txt
git add .
git commit -m "2"
git push -u origin master
echo "3" > 3.txt
git add .
git commit -m "3"
git push -u origin master
git log
git revert 9dbadceb096e42957213a6554fe24b5f2d46f332
git push -u origin master

提交

git pull
git add .
git commit -m “备注”
git push

多分支的提交流程:

假设有分支master和mtshen,master为主分支

mtshen:
    git add .
    git commit -m “备注”
    git checkout master
master:
    git pull
    git merge mtshen
    git commit -m “备注”
    git push
    git checkout mtshen
mtshen:
  git merge master

错误

如果出现error可以进行以下2中解决方式)如果出现error,可以进行以下2中解决方式
1.使服务器文件直接覆盖本地文件
git reset --hardgit pull
2.使服务器与本地代码合并,并手动解决冲突 (常用)
git stash
git pull
git stash pop // 处理可能出现的冲突

常见错误

error: Your local changes to the following files would be overwritten by merge: index.php

如果发现该异常,说明该代码有冲突,解决办法: 见错误解决方式 2

CONFLICT (content): Merge conflict in xxxx.js

如果发现该异常说明代码已经存在冲突了,修改完冲突之后执行一遍提交流程

fatal: Not a git repository (or any of the parent directories): .git

如果发现该异常,说明你没有正确进入git项目的目录,检查你的路径

你可能感兴趣的:(git 常用命令)