初始配置
1 2 3
| mkdir d:\git_test git config --global user.name "Your name" git config --global user.email "you@example.com"
|
获取当前git配置
1 2 3
| git --version git config --global user.name git config --global user.email
|
创建文件并写入内容
如果文件不存在,则创建文件
1 2
| echo "hello git" > index.html
|
单个>
箭头表示写入,>>
表示追加
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| git init git status git add . git commit git commit -a git push git log -p git log --online git diff git diff --cached git diff master git checkout index.html git reset HEAD index.html git rm index.html --cached git reset --hard HEAD/commit_id git reflog
|
总结:先git add
修改过的文件,再git diff
并git status
查看确认,然后git commit
提交,然后输入开发日志,然后git push
推送到远程分支,最后git log
再次确认。
创建分支
1 2 3 4 5 6 7 8
| git branch git branch experiment git checkout experiment git checkout -b experiment git commit -a git checkout master git merge experiment git branch -d experiment
|
使用git stash命令保存和恢复进度
1 2 3 4 5 6 7
| git stash git stash save 'message...' git stash list git stash pop git stash apply git stash drop [stash_id] git stash clear
|
撤销一次已经提交到Github的内容
1 2
| git reset --hard HEAD~1 git push --force
|
该命令执行后,会隐藏掉Github库中的被撤销掉的记录,但是指定到该被隐藏掉的记录来访问,依旧可以访问。
GitHub更新自己fork的代码
clone
已经fork
到自己账号的代码1 2
| git clone https://github.com/shadow000902/ApiTestEngine.git cd ApiTestEngine
|
- 查看远程分支列表
1 2 3 4 5 6
| ╭─taoyi at TaoYi-Mac in ~/git_projects/GitHub/ApiTestEngine on master✔ using ‹› 17-08-23 - 15:01:23 ╰─○ git remote -v debugtalk https://github.com/debugtalk/ApiTestEngine.git (fetch) debugtalk https://github.com/debugtalk/ApiTestEngine.git (push) origin https://github.com/shadow000902/ApiTestEngine.git (fetch) origin https://github.com/shadow000902/ApiTestEngine.git (push)
|
fetch
原始源代码的新版本到本地- 合并两个版本的代码
1
| git merge debugtalk/master
|
- 如果合并代码后有冲突,解决冲突
- 把合并好的最新的代码提交到自己的
GitHub
账号上
git撤销最后一次commit
使用git log
查看commit
记录
1 2 3
| commit-id1 commit-id2 commit-id3
|
如果想要撤销commit-id1
的话,就要选择commit-id2
使用命令撤销提交
1 2
| git reset --hard commit-id2 git push origin HARD --force
|
修改最新一次已提交但未 push 的 message
1
| git commit --amend -m "your new message"
|