1、初始化:一个项目只执行一次 只要有.git隐藏文件夹就ok了
git init 或者 git clone url
2、为远程github仓库生成别名(remote-name就是远程仓库的别名)这一步执行一次也可以
git remote add <remote-name> <url>
git remote add origin git@github.com:yourName/yourRepo.git
# origin是默认的远程仓库别名 (这个需要在git init 之后才能实现,方便push和clone)
3、忽略提交文件
4、新建分支branch1 团队的话不要使用默认的主分支(很大可能你没有主分支的push权限)
#git branch -a 查看所有分支(包括远程和本地分支)
#git branch 分支名 查看本地分支
#git branch -r 分支名 查看远程分支
git branch branch1 #新建一个本地分支
5、切换到branch1分支(默认是在master分支)
git checkout branch1
6、修改代码后并放入暂存区 对于所有分支而言, 工作区和暂存区是公共的 所以add之后切换分支后的新分支也是有add后的状态的
git add ./test.txt
7、提交到本地仓库(注意在此之前一定要切换分支)
git commit -m "描述"
#error: pathspec 'demo' did not match any file(s) known to git. 缺少参数也会报这个错的 另"双引号变为单引号也会报这个错
准备提交到远程仓库
8、拉取要提交分支的最新的内容
git fetch 远程仓库名 远程的分支名:本地分支名
#本地分支名不存在的话会新建
9、检查代码冲突
git diff tmp // 将当前分支和tmp进行对比
10、合并分支
git merge tmp //合并tmp分支到当前分支
迷之自信确定代码不会冲突(比如就一个人贡献代码)可以将8、9、10合并
git fetch <remote_store_short_name> <remote_branch>[:local_branch]
11、同步到远程仓库
#将本地仓库同步到github远程仓库中 git push [remote-name] [branch-name]
git push origin master #把本地分支推到远程仓库origin(origin为别名)的master默认主分支下 #注意:没有第一步设置别名那么需要改成这样: git push https://github.com/lichihua/codedemogit.git master
查看提交日志
git log --oneline
或者
git reflog
注意HEAD@{3}: HEAD@{回退到这个版本所需的步数}:
黄色的就是截取后额版本号
版本回退
git reset --hard 71ad2d8
git rm与git rm --cached
当我们需要删除暂存区
或分支
上的文件, 同时工作区也不需要这个文件了, 可以使用
1 git rm file_path
2 git commit -m 'delete somefile'
3 git push
当我们需要删除暂存区
或分支
上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m 'delete remote somefile'
git push