Github Command Line
git init
1 | git init # 初始化一个本地的repository,在哪个文件夹下使用git init,该文件夹便是repo |
git add
修改完 需要用git add将修改添加到缓存区stage里等待commit
1 | git add . |
git status
1 | git status |
git diff
查看修改内容
1 | git diff |
git commit
1 | git commit -m 'added README.md' |
git log
查看提交历史,以便找出每个提交记录的commit_id,方便回退到某个具体版本
1 | git log |
git reset
回退到某个版本
1 | git reset --hard HEAD^ #将版本回退到repository中最新的版本 |
git reflog
查看命令历史,以便找出未来版本的commit_id,方便回到未来某个具体版本
1 | git reflog |
git checkout
不小心删除了工作区的文件,用git checkout可以恢复
撤销/丢弃工作区的修改,回到最近一次git add或git commit的状态:
- 修改了但还没有git add时,撤销修改后的状态和repository的状态一样
- 修改了已经git add 但还没有git commit时,撤销修改后的状态和stage的状态一样
1 | git checkout -- <fileName> |
git rm
1 | rm fileName # 先删除本地工作区里的文件 |
git push
在Github创建好repository后,先关联两个库,再把本地的master branch推送到Github的master branch里
1 | # SSH |
1 | git push -u origin master # 第一次推送master分支时 加上-u参数 Git除了推送 还会关联两地的分支 |
git clone
如果是开源项目,先Fork到自己的Github里,再clone到本地,修改完push到自己Github上,再Pull request
1 | git clone <repoAddress> |
分支管理
创建并合并分支
git branch/checkout
1 | git branch xinting # 创建分支xinting |
git branch/switch
最新版本的git使用swith来切换分支
1 | git branch xinting # 创建分支xinting |
git merge
合并指定的分支到当前分支:此时是Fast-forward合并模式 直接把master指针指向xinting的当前提交
1 | git checkout master # 先将当前分支切换回master |
解决冲突
分支管理策略
Bug分支
Github SSH
test for changed.