- git记录用户账户信息:
git config --global credential.helper store - 提交记录显示指定姓名的提交人
git config --global user.email "email"
git config --global user.name "name" - 将git中代码拉到本地:
git clone git地址 (重命名),如:git clone username@host:/path/to/repository - 将分支拉到本地:
git checkout 分支名
- 查看本地有哪些分支
git branch
- 查看远程和本地分支:
git branch -a
- 切换分支:
git checkout 分支名
- 更新分支:git pull
- 提交代码到本地分支:
git commit -am “注释”
git commit -m “注释”
- 修改上次提交的注释信息:
git commit --amend -m "修改后的注释"
- 向本地分支添加文件:
git add 文件名 如:git add file2.txt file3.txt
添加当前目录下所有文件:
git add .
- 将本地分支代码推送到git中:git push
- 创建本地分支,并切换到该分支: git checkout -b branch_name
- 删除本地分支: git branch -D 分支名
- 删除远程分支 git branch -d -r origin/branchname
或git push origin :branch_name
或git push origin --delete branch_name
- 推送本地分支到远程: git push origin branchName;
- 建立本地与远程分支关联: git branch --set-upstream-to=origin/<branch> branchName
- 查看状态: git status
- 查看日志: git log
- 回滚本地仓库已经提交的文件: git reset --hard 版本哈希值
- 回滚暂存区的文件到工作区: git reset HEAD 文件名
- 回滚远程分支:先回滚本地仓库,然后强行推送远程:git push -f
- 查看所有执行过的命令记录 git reflog
- 取消文件修改(丢掉工作区的修改,就是让这个文件回到最近一次git commit或git add时的状态)(未提交的文件): git checkout -- 文件名
- 取消所有修改: git checkout .
- 查看远程仓库的名称和权限 git remote -v
- 比较工作区文件和本地仓库文件 git diff readme.txt 或 git diff HEAD -- readme.txt
- 查看某个commit的修改文件列表: git show hashID --stat
- 查看某个commit的所有修改文件内容: git show hashID
- 查看某个commit的某个文件的修改内容: git show hashID file_name
- 查看分支:git branch
- 创建分支:git branch <name>
- 切换分支:git checkout <name>
- 创建+切换分支:git checkout -b <name>
- 合并某分支到当前分支:git merge <name>
工作现场:
- 储藏当前工作现场: git stash
- 查看储存的工作现场: git stash list
- 恢复工作现场并删除记录: git stash pop
- 恢复到指定现场版本: git stash apply stash@{0}
- 删除stash: git stash drop <stash@{id}> 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。
- 删除所有stash: git stash clear 是清除所有stash,整个世界一下子清净了!
- 恢复远程库删除的文件 git checkout commit-id -- fileName
- 恢复远程库删除的所有文件 git checkout commit_id .
标签:
创建标签: git tag tag_name
查看tag列表: git tag
向之前的版本创建tag: git tag tag_name 版本哈希值
查看标签信息: git show tag_name
创建带说明的tag: git tag -a tag_name -m "说明" 版本哈希值
删除tag: git tag -d tag_name1 tag_name2
推送指定标签到远程库: git push origin tag_name
推送所有标签到远程库: git push origin --tags
删除远程库的tag: git push origin :refs/tags/tag_name
- 推送本地分支local_branch到远程分支 remote_branch并建立关联关系
情景一:
远程没有有remote_branch分支,本地已经切换到local_branch
1.git push origin local_branch:remote_branch
2.git branch -d local_branch;
情景二:
远程已有remote_branch分支但未关联本地分支local_branch且本地已经切换到local_branch
git push -u origin/remote_branch
- 重命名远程分支:
1.重命名本地对应的分支
git branch -m old_branch_name new_branch_name
2.删除远程待修改的分支:
git push origin :old_branch_name To clone地址
3.将本地新分支名push到远程:
git push origin new_branch_name
- 将本地项目推送到远程库中:
首先,创建远程库中项目:
1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库
git init
2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
git add .
3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
git commit -m 'first commit'
4、关联到远程库
git remote add origin 你的远程库地址, 如:
git remote add origin https://github.com/cade8800/ionic-demo.git
5、获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
6、把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
git push -u origin master
7.状态查询命令
git status
- 修改本地项目url:打开项目根目录,打开.git文件夹,编辑conf文件,修改url为新的url保存即可!
- 删除远程已删除本地显示的分支:git remote prune origin
-
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
指定文件:
git rm -r --cached filePath
git commit -m “notes”
所有文件:
git rm -r --cached .
git add .
git commit -m “update .gitignore”
-
恢复本地已删除文件
git reset HEAD file
git checkout file
-
问题:Clone failed: Authentication failed for 'https://gitee.com/Aplomb/NewDemo.git/'
刚刚入职新公司,使用的是新电脑,不是自己的,使用git clone 项目报这个错误
原因:因为在这个电脑上没有配置自己的用户名和邮箱,但之前默认已经配置了,所以要更改之前的配置
解决方案:在命令行里输入 git config --system --unset credential.helper 回车