1、git使用流程(git使用参照)
1、git pull
1.1 如果本地代码与远程代码有冲突
git stash
git pull
git stash pop
(此时冲突代码会显示在你的本地代码中,需要选择留哪一部分代码)
1.2 如果本地代码与远程代码没有冲突,直接执行下一步
2、git status //(查看本地修改了哪些文件)
2.1 在这一步,可以输入git diff a.cpp,查看修改内容
3、git add . //(提交全部文件)
或 git add a.cpp //(提交单个文件)
3.1 当你git add了某个文件之后,又不想提交了,可以输入git reset HEAD a.cpp
4、git commit -m "提交代码"
5、git push
2、建立git仓库
2.1 远程仓库设置
cd /proj //仓库建立目录
mkdir test.git //创建项目test文件夹
cd test.git
git init --bare //初始化仓库
2.2 本地仓库设置
cd /home/proj/test //本地项目所在位置
git init //初始化仓库
git add . //提交所有文件
git commit -m "git add all files"
git remote add origin /proj/test.git //将本地项目和远程仓库绑定在一起
git push --set-upstream origin master //提交所有代码
2.3 注意事项(参考链接):
如果是c或c++代码,因为存在编译产物,导致每次git status时会出现一些不需要提交的文件。
一般情况下,我们不应把编译后文件提交到中央仓库中。
因此,Git 允许你完全忽略这些文件,只需要将路径放在一个特定的.gitignore 文件中。
新建.gitignore文件
vi .gitignore
加入想要主动让Git忽略的文件 (注意不要忘记将.gitignore自身也添加到文件中)
build/
.gitignore
2.4 存在的问题
2.4.1 权限问题
远程仓库建立好之后,test.git的用户名是你自己的名字,其他人不能对这个文件的代码进行修改。
方法一:将用户名字从你自己改成git
(这种方法改完之后,记住改.git/config属性。将url参数改为git@xxx.xxx.x.xx:/proj/test.git/)
方法二:将文件权限改成drwxrwxrwx
2.4.2 子文件中存在.git文件夹
当子文件夹中存在.git文件夹时,会报以下错误:
方法: cd 文件夹路径 ,然后rm -rf .git
2.4.3 没有修改文件内容,git status却提示文件有变动(参考链接)
当本地文件夹修改了权限,而没有修改内容,git status也会提示该文件有改动。
此时,可以查看配置:
git config --list
如果配置 :core.filemode=true 是 true , 关闭即可
git config core.filemode false
3、p4v使用流程(p4v使用参照)
1、进入你的workspace,右击选择Get Lastest Revision,拉取到服务器上的最新文件
2、在你的teminial中输入指令:p4 diff -se ... 可以查看你修改且未提交的文件
3、选择你修改的文件,右击选择 check out,此时文件已到达 Pedding区域
(此时,如果你提交的文件有其他人修改,会提醒你是否获取最新版本,先选择忽略。到文件到达Pedding区域后再选择更新到最新版本,右键选择resolve)
4、在pedding区域,选择你要提交的文件,在工具栏点击Diff,查看修改内容,进行最后的审核
5、最后在工具栏中点击Submit,写下你这次修改内容的描述以及勾选你所要提交的文件。
3.1 p4 代码check out 注意事项
- 如果代码上级目录check out过,则子目录都无法check out
- 删除workspace时,如该workspace已在服务器端注销,则还要注意该workspce的根目录下的.p4config文件,将里面的workspace信息删除,不然代码无法在该目录下重新check out