一、本地项目上传到远程仓库
- 建立本地git仓库
cd 到你的本地项目根目录下,执行git命令
git init
- 将本地项目工作区的所有文件添加到暂存区
git add .
.表示所有文件
如果想添加项目中的指定文件,那就把.改为指定文件名即可
- 将暂存区的文件提交到本地仓库
git commit -m ""
冒号里面写注释语句
- 将本地仓库关联到码云上
git remote add origin https:
后面的URL地址就是我在第四步时复制的那个https地址
- 将代码由本地仓库上传到码云仓库
git push -u origin master
如果执行失败,一般是没有将服务器代码同步到本地导致的。(如:failed to push some refs to 'https://gitee.com )
可以先执行 git pull --rebase origin master 下载远程文件进行合并 (注:pull=fetch+merge)
确认没有冲突,再次执行 git push -u origin master 即可完成代码上传
二、一些其他操作
- 常用的git命令:
克隆:
克隆master:git clone 仓库地址
克隆dev分支: git clone -b dev 仓库地址
同步数据:git pull
同步数据:git pull origin name
提交数据:git push origin name
分支操作:
查看本地分支:git branch
查看本地和远程分支:git branch -va
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
创建本地分支并将远程分支提取出来:git checkout -t origin/name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
删除远程分支:git push origin :name
远程已经删除的分支,在本地执行 git branch -a 显示还存在,执行以下命令可以清除:git remote prune origin
打tag:
创建带备注标签(本地):git tag -a 1.0.0 -m "这是备注信息"
删除标签(本地):git tag -d 1.0.0
将本地标签发布到远程仓库
1. 发送所有 git push origin --tags
2. 指定版本发送 git push origin 1.0.0
删除远程仓库对应标签:git push origin --delete 1.0.0
撤销修改:git checkout – file
删除文件:git rm file
查看状态:git status
添加记录:git add file 或 git add .
添加描述:git commit -m “miao shu nei rong”
- 提交代码的一般步骤
1.查看目前代码的修改状态
2.查看代码修改内容
3.暂存需要提交的文件
4.提交已暂存的文件
5.同步到服务器
1. 查看目前代码的修改状态
提交代码之前,应该先检查目前所做的修改,git status命令
a. changes to be committed(已暂存)
new file
modified
deleted
b. changed but not updated(已修改)
modified
deleted
c. untracked files(未跟踪)
2. 查看代码修改的内容
git diff <file>
比较某文件与最近提交节点的差异。
注意:如果该文件已暂存,那么应该使用git diff –cached<file>
git diff <hashcode> <hashcode> <file>
比较某文件在提交节点a,节点b的差异。
技巧:如果省略后面一个hashcode,则默认表示与上一提交节点比较。(也可以利用^运算符)
3. 暂存需要提交的文件
如果是新建的文件 git add <file>
如果是修改的文件 git add <file>
如果是删除的文件 git rm <file>
4. 提交已暂存的文件
git commit
注意注释填写规范。
git commit --amend
修改最近一次提交。有时候如果提交注释书写有误或者漏提文件,可以使用此命令。
5. 同步到服务器
同步到服务器前先需要将服务器代码同步到本地
命令: git pull
如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。
命令:git checkout -- <有冲突的文件路径>
同步到服务器
命令: git push origin <本地分支名>
如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。
- Git撤销git commit 但是未git push的修改
git log: 找到你想撤销的commit_id
已经用 git commit 提交了代码:
git reset
git reset commit_id:完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改。
撤销版本:
已经push到线上,你想回退本地代码同时回退线上代码到某个指定的版本,线上,线下代码保持一致:
git revert commit_id
未使用 git add 缓存代码时:
可以使用 git checkout
放弃所以的文件修改可以使用 git checkout .
已经使用了 git add 缓存了代码:
git reset HEAD filepathname
- 关于 git add
git add 命令,将待提交文件提交到本地。
如果遇到比较多的改动怎么办呢?还是一条条add吗?
git add -A 将所有变更都提交到本地缓存。
那么问题又来了。这个时候,用命令git status 查看,可以看到,待提交的文件,都变成了亮绿色。
那么,如果我不想全部提交。只想提交部分文件怎么办?而这不想提交的文件,又在刚刚被add 了。怎么办?
git add -I
选择3,找到要排除的文件,直接排除。选择7,回到提交目录上。再用git status查看。
三、git仓库删除所有提交历史记录,成为一个干净的新仓库
- 切换到新的分支
git checkout --orphan latest_branch
- 缓存所有文件(除了.gitignore中声名排除的)
git add -A
- 提交跟踪过的文件(Commit the changes)
git commit -am "commit message"
- 删除master分支(Delete the branch)
git branch -D master
- 重命名当前分支为master(Rename the current branch to master)
git branch -m master
- 提交到远程master分支 (Finally, force update your repository)
git push -f origin master