git config --global user.name "Your Name"
git config --global user.email [email protected]
cd git_demo
git init
git add <文件名>
)git commit -m '<描述信息>'
)git status
git add index.html // 对指定文件的修改建立跟踪
git add . // 对当前文件夹下修改建立跟踪
取消暂存
git rm --cached <文件>
git commit -m '<版本描述信息>'
git log
git log --graph
git log --graph --pretty=format:"%h %s"
git reset --hard <2.0版本的版本号>
git reflog
可以查看所有版本的版本号git reflog
git reset --hard <3.0版本的版本号>
git checkout -- <要撤销修改的文件名>
git reset HEAD <要撤销暂存的文件名>
git branch
git branch dev
git checkout dev
git checkout -b dev
将bugfix分支合入master分支
注1:操作时需要注意“谁并入谁”的问题
注2:合并时可能会产生冲突,如果冲突的话git会同时保留两个分支的内容,找到有冲突的文件,手动修改后再次git add
==> git commit
即可
git checkout master
git merge bug
git branch -d <要删除的分支名>
添加远程连接,给代码仓地址起个别名,默认添加在本地配置文件中(--local
)
git remote add origin https:<代码仓地址>
将本地的master分支的代码推送到远程仓库的master分支
注1:如果未设置别名,origin也可替换为直接输入代码仓地址
注2:-u
的含义为,将此次提交的地址和分支,保存为下一次推送的默认设置
git push -u origin master
将本地的dev分支的代码推送到远程仓库的dev分支
git push -u origin dev
注1:如果此时查看克隆下来的的代码分支,仅可查看到master,但实际所有分支均已拉取,可直接git checkout <分支名>
切换分支
注2:克隆的同事Git内部已经实现给代码仓起别名的效果git remote add origin https:<代码仓地址>
,默认别名为origin
git clone https:<代码仓地址>
从远程仓库,拉取dev分支的代码:
git pull origin dev
等同于
git fetch origin dev
git merge origin/dev
简洁git commit记录
注:git rebase
时可能会产生冲突,解决冲突后执行git rebase --continue
即可继续
将当前版本和指定版本之间的所有记录合并为一个:
git rebase -i <版本号>
从当前版本开始,找到3条记录合并为1个:
git rebase -i HEAD~3
注:合并记录时,不要合并已经push到远程仓库的记录
快速解决冲突的软件。
git config --local merge.tool bc3 // 起名
git config --local mergetool.path '' // 配置安装路径
git config --local mergetool.keepBackup false // 处理冲突时不生成备份文件
注:--local
意为本次配置只在当前目录内有效
git mergetool
给提交记录上打tag
git tag -a <要打的tag,譬如v1.0.0> -m ''
将本地打好的tag推送到远程代码仓
git push origin --tags
将开源项目的代码拷贝到个人远程仓库
git config --local user.name '<用户名>'
git config --local user.email '<用户邮箱>'
git config --global user.name '<用户名>'
git config --global user.email '<用户邮箱>'
git config --system user.name '<用户名>'
git config --system user.email '<用户邮箱>'
原来的地址:
git remote add origin https://github.com/<用户名>/git_demo.git
改写为:
git remote add origin https://用户名:密码@github.com/<用户名>/git_demo.git
ssh-keygen
git remote add origin <ssh协议地址>
配置后则无需再输入用户名和密码
mac中可以在钥匙串中管理查看
git会读取项目内的.gitignore
文件,文件内写明的文件名(或写明的文件夹名下的文件)不再受git管理
注:.gitignore
文件也可以写入.gitignore
,则该文件也不再受git管理
更多参考
文档及任务管理
项目文档说明