FAQ 常见问题
gitignore文件不起作用
shell
#.gitignore文件不起作用
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git rm -r --cached .
git add .
git commit -m "update .gitignore" // windows使用的命令时,需要使用双引号
#.gitignore文件不起作用
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
git rm -r --cached .
git add .
git commit -m "update .gitignore" // windows使用的命令时,需要使用双引号
git 创建仓库
shell
git config --global user.name "王磊"
git config --global user.email "13992787306@163.com"
#新建仓库
mkdir technology
cd technology
git init
touch README.md
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin master
#已有仓库
cd existing_git_repo
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin master
#做私有库时候,由于命名规范问题本地原先创建了一个仓库后进行了(README),
#把本地仓库和Github上关联以后,发现git pull,git feach提醒 fatal: refusing to merge unrelated histories
#方法一 先pull一下,再push
git pull origin master https://gitee.com/jianjianw/technology.git
#方法二 允许不相关历史提交,并强制合并
git pull origin master --allow-unrelated-histories
#方法三 强制提交
git push --force origin master
git config --global user.name "王磊"
git config --global user.email "13992787306@163.com"
#新建仓库
mkdir technology
cd technology
git init
touch README.md
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin master
#已有仓库
cd existing_git_repo
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin master
#做私有库时候,由于命名规范问题本地原先创建了一个仓库后进行了(README),
#把本地仓库和Github上关联以后,发现git pull,git feach提醒 fatal: refusing to merge unrelated histories
#方法一 先pull一下,再push
git pull origin master https://gitee.com/jianjianw/technology.git
#方法二 允许不相关历史提交,并强制合并
git pull origin master --allow-unrelated-histories
#方法三 强制提交
git push --force origin master
stash
shell
# 把本地修改并且未提交的内容,存储到本地栈中的栈顶
$git stash
# 此时你可以去切换分支或者pull最新代码
$do some work
# 此时你可以把你刚才stash到本地栈中的代码pop到本地
$git stash pop
# 哎呦我去,我把这个 commit 提交错分支了!
# 撤回这次提交,但保留改动的内容
git reset HEAD~ --soft
git stash
# 现在切到正确的那个分支去
git checkout name-of-the-correct-branch
git stash pop
git add . # 或者你可以添加指定的文件
git commit -m "your message here";
# 现在你的改动就在正确的分支上啦
# 把本地修改并且未提交的内容,存储到本地栈中的栈顶
$git stash
# 此时你可以去切换分支或者pull最新代码
$do some work
# 此时你可以把你刚才stash到本地栈中的代码pop到本地
$git stash pop
# 哎呦我去,我把这个 commit 提交错分支了!
# 撤回这次提交,但保留改动的内容
git reset HEAD~ --soft
git stash
# 现在切到正确的那个分支去
git checkout name-of-the-correct-branch
git stash pop
git add . # 或者你可以添加指定的文件
git commit -m "your message here";
# 现在你的改动就在正确的分支上啦
git 初始化仓库
shell
Git global setup
git config --global user.name "王磊"
git config --global user.email "wanglei1@huodada.com"
Create a new repository
git clone https://gitee.com/jianjianw/technology.git
cd dispatch-truck
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push an existing folder
cd existing_folder
git init
git remote add origin https://gitee.com/jianjianw/technology.git
git add .
git commit -m "Initial commit"
git push -u origin master
Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin --all
git push -u origin --tags
Git global setup
git config --global user.name "王磊"
git config --global user.email "wanglei1@huodada.com"
Create a new repository
git clone https://gitee.com/jianjianw/technology.git
cd dispatch-truck
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push an existing folder
cd existing_folder
git init
git remote add origin https://gitee.com/jianjianw/technology.git
git add .
git commit -m "Initial commit"
git push -u origin master
Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitee.com/jianjianw/technology.git
git push -u origin --all
git push -u origin --tags
删除远端commit
shell
#假设你有3个commit如下:
commit 3
commit 2
commit 1
#其中最后一次提交commit 3是错误的,那么可以执行:
git reset --hard HEAD~1
#你会发现,HEAD is now at commit 2。
#然后将本次变更强行推送至服务器。
git push --force
#这样在服务器上的最后一次错误提交也彻底消失了。
#值得注意的是,这类操作比较比较危险,
#例如:在你的commit 3之后别人又提交了新的commit 4,
#那在你强制推送之后,commit 4也跟着一起消失了。
例子二:
#(注:不要带--hard)到上个版本
git reset commitId
#暂存修改
git stash
#强制push,远程的最新的一次commit被删除
git push --force
#释放暂存的修改,开始修改代码
git stash pop
git add .
git commit -m "massage"
git push
#假设你有3个commit如下:
commit 3
commit 2
commit 1
#其中最后一次提交commit 3是错误的,那么可以执行:
git reset --hard HEAD~1
#你会发现,HEAD is now at commit 2。
#然后将本次变更强行推送至服务器。
git push --force
#这样在服务器上的最后一次错误提交也彻底消失了。
#值得注意的是,这类操作比较比较危险,
#例如:在你的commit 3之后别人又提交了新的commit 4,
#那在你强制推送之后,commit 4也跟着一起消失了。
例子二:
#(注:不要带--hard)到上个版本
git reset commitId
#暂存修改
git stash
#强制push,远程的最新的一次commit被删除
git push --force
#释放暂存的修改,开始修改代码
git stash pop
git add .
git commit -m "massage"
git push