本地仓库
初始化:git init
创建分支:git checkout -b new_branch (先创建分支,再添加和提交,再转到主分支合并,切记!)
添加到暂存:git add .
提交到仓库:git commit -m "name"
合并分支(在合并到的分支中):git merge new_branch
删除文件:git rm bbb.txt
添加不提交的文件:
- 在git init的目录下(即有.git文件夹的目录下)创建.gitignore.txt的文件
- 在该文件中添加不需要保存的文件的相对路径,可以使用通配符,/*.txt 表示该路径下所有txt文件
- 以UTF-8保存文件,并删掉.txt后缀,以后用记事本打开即可
退出编辑模式:一直按住esc ,再连续按大写的z两次就退出来了
远端仓库
命名:git remote add origin https://............ 私有仓库的可能需要密码 git remote add origin https://用户名:密码@github.com/用户名/仓库名.git
下载:git clone https://..........................
上传:git push -u origin master
*注意一:如果上传单个文件大于100M会报错,此时可以先用github提供的免费的1g容量的LFS:
①安装一次: git lfs install
②跟踪文件(文件名或者后缀): git lfs track "*.db"
③再次提交:git add .
git commit -m "large"
git push -u mypath master
***如果LFS不能解决,则移除大的文件
- git rm "file_name"
- git commit -m "commit_name"
- git push -u origin "push_ oversion"
*注意二:如果上传遇到 ! [rejected] master -> master (non-fast-forward)问题,有以下两种解决方法:
1.强推:git push -f origin master
2.同步:① git pull origin master --allow-unrelated-histories
② git add .
③ git commit -m "new"
④ git push -u mypath master
使用技巧
查看历史:git log
退出git log:q
回滚到之前版本:git reset [--hard|soft|mixed|merge|keep] [commit|HEAD]
例:git reset --hard 8ff24a6803173208f3e606e32dfcf82db9ac84d8 ,其中版本号写一部分就可以
再回到未来版本:因为回滚之后就查不到未来版本的编号了
git reflog,查看历史命令id
git reset [--hard|soft|mixed|merge|keep] [commit|HEAD],回到该(提交命令)之后的版本
Rebase代替Merge
- 首先提交到本地(commit)
- rebase 远程分支到本地(其意义是将远程和本地统一到本地),需要处理冲突
- 推送到远程分支
Visual Studio 必要文件
最好不要忽略以下文件:*.h *.cpp *.sln *.vcxproj *.vcxproj.filters *.qrc