Git使用之码云的操作步骤、忽略文件

Git使用之码云的操作步骤、忽略文件

2023年7月7日发(作者:)

Git使⽤之码云的操作步骤、忽略⽂件Sourcetree的使⽤步骤:⽂件-》新建,弹出git配置,建⽴连接,设置本地仓库。功能说明:提交:即将你的代码提交到⾃⼰的本地分⽀。拉取:从服务器上拉取指定的分⽀到本地。推送:将本地分⽀的更改,推送到服务器。抓取:主要是获取服务器上分之的变化。分⽀:基于⼀个分⽀,建⽴⾃⼰的本地分⽀。合并:合并其他分⽀到⾃⼰的本地分⽀。暂存:存储当前⼯作区的变更。左边列表主要⽤到的是:分⽀和远端这两个,其他的读者可以⾃⼰研究。分⽀:列出了本地的分⽀,可以在此切换分⽀,切换后可以跟踪该分⽀的变化。远端:列出服务上代码的分⽀。注意:1、提交只是提交到⾃⼰的本地分⽀,并没有提交到远端的服务器,在确认修改⽆误后需要使⽤推送,然后你的修改才更新到远端。2、在多⼈协作开发的时候,开发者应该建⽴⾃⼰的开发分⽀,功能开发后,由项⽬管理⼈员将功能统⼀合并到⼀个单独的分⽀,打包发布的时候,应该建⽴⼀个发布分⽀。等到发布完成,将修改的功能合并到主分⽀。3、在合并的时候可能出现冲突,需要合并者解决了冲突后,代码能编译过之后提交。git完整操作:码云⽂档:git add. 添加到暂存区git commit 提交到本地仓库git push 提交到远程仓库⽣成并部署SSH key1.如何⽣成ssh公钥你可以按如下命令来⽣成 sshkey:ssh-keygen -t rsa -C "xxxxx@"

# Generating public/private rsa # 三次回车即可⽣成 ssh key查看你的 public key,并把他添加到码云()cat ~/.ssh/id_# 添加后,在终端(Terminal)中输⼊ssh -T git@若返回Hi xxxx! You've successfully authenticated, but does not provide shell access.则证明添加成功。注意:在以后的操作中,如果在配置SSH以后,操作还是提⽰ Enter passphrase for key '/Users/xx/.ssh/id_rsa': 说明在我们⽣成key的时候设置了密码,导致每次操作git都需要输⼊密码(这⼀块刚开始也不太在意)。解决⽅法:ssh-keygen -p -P 123456 -N '' -f ~/.ssh/id_rsa123456就是之前⽣成key的时候设置的密码,这⾥只要重新设置密码为空 '' ,下次就不要输⼊密码了。=====xcode中的操作:本地初始化⼀个项⽬ 取消全局配置:git config --global --unset t config --global --unset 查看全局配置:git config --global --edit⽅式⼀:在本地创建⼀个项⽬-》和远程仓库建⽴连接-》git pull拉取远程仓库的代码-》本地代码提交到远程仓库1.⾸先,你需要执⾏下⾯两条命令,作为 git 的全局基础配置,作⽤是告诉 git 你是谁,你输⼊的信息将出现在你创建的提交中。git config --global "你的名字或昵称"(这⾥填写码云的⽤户名名)git config --global "你的邮箱"2.然后在你的需要初始化版本库的⽂件夹中执⾏://初始化本地仓库cd 本地代码⽬录git init (如果提⽰已经存在git ,执⾏rm -rf .git)⽬前 Gitee ⽀持使⽤ HTTPS协议 和 ssh 协议 进⾏代码的推送/拉取。两种协议的差别仅在于同⼀个仓库使⽤不同协议时的地址不同,以及对应的授权实现不同。https 协议 和 ssh 协议在使⽤上的差别使⽤ https 协议 克隆 对初学者来说会⽐较⽅便 ,复制 https url 然后到 git Bash ⾥⾯直接⽤ clone 命令克隆到本地就好了,但是 每次fetch和push代码都需要输⼊账号和密码 ,这也是 https 协议 的⿇烦之处。⽽使⽤ SSH 协议 克隆需要在克隆之前先配置和添加好 SSH key,因此, 如果⽤户想要使⽤ SSH url 克隆的话,必须是这个仓库的拥有者 。另外,使⽤ SSH 协议 默认是每次 fetch 和 push 代码都不需要输⼊账号和密码。3.//第⼀次提交或者拉取代码前需要和远程仓库建⽴联系 git remote add origin <你的项⽬地址> // 注 : 项⽬地址形式为 :https ://gitee .com/xxx/或者 git @gitee . com:xxx/这样就完成了⼀次版本你的初始化。4.拉取远程仓库代码:进⼊你已经初始化好的或者克隆项⽬的⽬录,然后执⾏:git pull origin master

如果上⾯的命令不⾏⽤这个 git pull --rebase origin master如果报错fatal: refusing to merge unrelated histories(本地没有Readme⽂件)使⽤: git pull origin master --allow-unrelated-histories提交代码:<这⾥需要修改/添加⽂件,否则与原⽂件相⽐就没有变动>5. 添加⽂件到本地暂存区git add .

6.提交到线上本地仓库git commit -m "第⼀次提交"如果出现Changes not staged for commit:错误,使⽤git commit -am "第⼀次提交"7.提交到远程仓库由于远程库是空的,我们第⼀次推送master分⽀时,加上了-u参数,(git push -u origin master) ,Git不但会把本地的master分⽀内容推送的远程新的master分⽀,还会把本地的master分⽀和远程的master分⽀关联起来,在以后的推送或者拉取时就可以简化命令。git push origin master然后如果需要账号密码的话就输⼊账号密码(https的协议需要登录账号(邮箱)和密码,ssh协议不需要账号密码),这样就完成了⼀次提交。8、看到上传代码出现"Writing objects: 100%" ,则表⽰上传成功。注意:按照本⽂档新建的项⽬时,在码云平台仓库上已经存在 readme ⽂件,故在提交时可能会存在冲突,这时您需要选择的是保留线上的⽂件或者舍弃线上的⽂件,如果您舍弃线上的⽂件,则在推送时选择强制推送,强制推送需要执⾏下⾯的命令:git push origin master -f如果您选择保留线上的 readme ⽂件,则需要先执⾏:git pull origin master然后才可以推送,如果发⽣冲突,则需要先解决冲突,关于如何处理冲突⽅式⼆:git clone 把远程仓库的代码克隆到本地-》在本地的仓库中和.git⽂件夹平级,创建项⽬-》提交到远程仓库1. cd swift⽂件夹2. git init (如果提⽰已经存在git ,执⾏rm -rf .git)3. git clone "码云仓库地址"4. 修改代码后git add .5. git commit -m "注释"6. git pull origin master===========分⽀:五部⾛:分⽀创建 -> 切换 -> 提交 -> 合并 -> 删除1.先创建⼀个新分⽀提交改动 git branch newbranch

然后输⼊这条命令检查是否创建成功 git branch

这时终端输出1. newbranch

2. master

这样就创建成功了,前⾯的*代表的是当前你所在的⼯作分⽀。我们接下来就要切换⼯作分⽀。git checkout newbranch

注:也可以使⽤下⾯的命令,相等于上⾯的两部; git checkout -b newbranch

这样就切换完了,可以 git branch 确认下。然后你要将你的改动提交到新的分⽀上。

git add .

git commit -a

此时可以 git status 检查下提交情况。如果提交成功,我们接下来就要回主分⽀了,代码和之前⼀样。

git checkout master

然后我们要将新分⽀提交的改动合并到主分⽀上 git merge newbranch

合并分⽀可能产⽣冲突这是正常的,虽然我们这是新建的分⽀不会产⽣冲突,但还是在这⾥记录下。下⾯的代码可以查看产⽣冲突的⽂件,然后做对应的修改再提交⼀次就可以了。 git diff

我们的问题就解决了,接下来就可以push代码了。 git push -u origin master

新建分⽀的朋友别忘了删除这个分⽀,不放⼼的话可以git branch查看下。 git branch -D newbranch

如果想保留分⽀只是想删除已经合并的部分只要把⼤写的D改成⼩写的d就⾏了。解决每次输⼊密码的问题:https ⽅式每次都要输⼊密码,按照如下设置即可输⼊⼀次就不⽤再⼿输⼊密码的困扰⽽且⼜享受 https 带来的极速设置记住密码(默认15分钟):git config --global cache--global cache如果想⾃⼰设置时间,可以这样做:git config 'cache --timeout=3600'.helper 'cache --timeout=3600'这样就设置⼀个⼩时之后失效长期存储密码:git config --global store增加远程地址的时候带上密码也是可以的。(推荐)yourname:password@/name///yourname:password@/name/补充:使⽤客户端也可以存储密码的。如果你正在使⽤ssh⽽且想体验https带来的⾼速,那么你可以这样做: 切换到项⽬⽬录下 :cd projectfile/ projectfile/移除远程ssh⽅式的仓库地址git remote rm origin remote rm origin增加https远程仓库地址git remote add origin yourname:password@/name/ remote add origin yourname:password@/name/处理代码冲突:版本回退:Git 仓库的基本操作1.修改仓库名⼀般来讲,默认情况下,在执⾏clone或者其他操作时,仓库名都是 origin 如果说我们想给他改改名字,⽐如我不喜欢origin这个名字,想改为 oschina 那么就要在仓库⽬录下执⾏命令:git remote rename origin oschina这样 你的远程仓库名字就改成了oschina,同样,以后推送时执⾏的命令就不再是 git push origin master ⽽是 git push oschinamaster 拉取也是⼀样的2.添加⼀个仓库在不执⾏克隆操作时,如果想将⼀个远程仓库添加到本地的仓库中,可以执⾏git remote add origin

仓库地址注意: 是你的仓库的别名 可以随便改,但请务必不要与已有的仓库别名冲突 2. 仓库地址⼀般来讲⽀持 http/https/ssh/git协议,其他协议地址请勿添加3.查看当前仓库对应的远程仓库地址git remote -v这条命令能显⽰你当前仓库中已经添加了的仓库名和对应的仓库地址,通常来讲,会有两条⼀模⼀样的记录,分别是fetch和push,其中fetch是⽤来从远程同步 push是⽤来推送到远程4.修改仓库对应的远程仓库地址git remote set-url origin 仓库地址⼀个本地仓库同时关联github和gitee远程库:注意事项:远程库名称origin要改名称。因为git本⾝是分布式版本控制系统,可以同步到另外⼀个远程库,当然也可以同步到另外两个远程库。使⽤多个远程库时,我们要注意,git给远程库起的默认名称是origin,如果有多个远程库,我们需要⽤不同的名称来标识不同的远程库。1. cd 项⽬⽬录

2. git init3.先关联GitHub的远程库:git remote add github git@:xxx01/注意,远程库的名称叫github,不叫origin了。拉取远程仓库代码 git pull origin master ,不成功就⽤ git pull origin master --allow-unrelated-histories4.接着,再关联码云的远程库:git remote add gitee git@:xxx01/同样注意,远程库的名称叫gitee,不叫origin。如果添加第⼆个远程库不成功(提⽰publickey错误),可以使⽤https形式的远程库地址。拉取远程仓库代码 git pull origin master ,不成功就⽤ git pull origin master --allow-unrelated-histories,也可以尝试不执⾏此步骤,直接执⾏下⾯的操作。现在,我们⽤git remote -v查看远程库信息,可以看到两个远程库:git remote -vgitee git@:xxx01/ (fetch)gitee git@:xxx01/ (push)github git@:xxx01/ (fetch)github git@:xxx01/ (push)5.如果要推送到GitHub,使⽤命令:git push github master如果要推送到码云,使⽤命令:git push gitee master这样⼀来,我们的本地库就可以同时与多个远程库互相同步:同⼀电脑同⼀账号关联同⼀平台多个仓库:⽤的是同⼀个账户公钥1.⽣成⼀个秘钥对:ssh-keygen -t rsa -C "xxxxx@" 这⾥⽣成后的默认地址是:~/.ssh/id_ ~/.ssh/id_2. 把公钥id_的内容填写到码云上3.配置⽤户名和邮箱 git config --global "你的名字或昵称"(这⾥填写码云的⽤户名名) git config --global "你的邮箱"4. cd 项⽬⽬录1 git init5. 建⽴远程仓库连接git remote add 仓库名1 git@:xxx/6. git pull 仓库名1 master7. git add .8. git commit -m "注释"9. git push 仓库名1 master10. 把3-9步骤重复⼀遍,但是项⽬⽬录1和远程仓库连接需要修改(git remote add 仓库名2 git@:xxx/)。11.以后的操作只需要cd 切换⼀下⽬录,其他操作都⼀样。不同电脑同⼀个账号上配置账户SSH:(账户SSH可以上传和拉取,仓库SSH只能拉取不能上传)在两台电脑上分别⽣成ssh公钥,然后把公钥都添加到码云账户中安全设置下的ssh公钥。然后和在单台电脑上的使⽤⽅法⼀样。同⼀台电脑不同账号配置多个SSH、git:可以是相同平台不同账号,不同平台不同账号使⽤SSH与客户端连接。如果是单⽤户,⽣成密钥对后,将公钥保存⾄码云,每次连接时SSH客户端发送本地私钥(默认~/.ssh/id_rsa)到服务端验证。1.⽣成公钥⽣成⼀个秘钥对:ssh-keygen -t rsa -C "xxxxx@" 这⾥⽣成后的默认地址是:~/.ssh/id_ ~/.ssh/id_⽣成另⼀个秘钥对:ssh-keygen -t rsa -C "xxx@" -f ~/.ssh/id_rsa_ytxcat ~/.ssh/id_rsa_2.在不同的账号中添加公钥3.默认SSH只会读取id_rsa,所以为了让SSH识别新的私钥,需要将其添加到SSH agent(代理),两个秘钥都需要添加ssh-add ~/.ssh/id_rsa_ytxssh-add ~/.ssh/id_rsa4.添加config配置⽂件分别映射不同的账户,进⼊~/.ssh⽬录,新建config⽂件,并添加相应的内容:cd /Users/HaokeMaster/.sshtouch configopen configconfig中添加的内容:# ⼀个账号Host oneHostName ferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa # 指定特定的ssh私钥⽂件# 另⼀个账号Host ytxHostName ferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_ytx # 指定特定的ssh私钥⽂件5. 执⾏ ssh -T git@ ssh -T git@ytx出现 Hi XXX! You've successfully authenticated, but does not provide shell access. 表⽰成功。6. cd 项⽬路径 init8.和配个单个Git帐号的⽅式不同,这⾥我们需要为每个项⽬分别配置,所以要命令⾏进⼊仓库⽂件夹再设置。第⼀种情况是先从Git上pull仓库下来,第⼆种情况是本地初始化Git仓库,总之进⼊改仓库⽂件夹后:git config --local "你的名字"git config --local "你的邮箱"如果是多个项⽬就需要挨个配置,不过我们⼀般是pull⼀个项⽬就配置⼀下,也仅仅需要配置⼀次即可。注意配置单个Git帐号时,是不进⼊项⽬⽂件夹就可以,不使⽤-–local,⽽是使⽤-–global就可以全局配置。9. git remote add origin "git@ytx:xxx/" 在使⽤的时候,需要把原来的替换成ytx(config配置中的Host);默认的那个账号可以不替换,因为默认会找到~/.ssh/id_rsa10. git pull --rebase origin master11. git add .12. git commit -m "注释"13. git push -u origin master14.以后只要cd 到相应的项⽬⽬录,就可以直接使⽤命令操作了。.DS_Store是Mac系统中产⽣的⼀个隐藏⽂件,记录⽂件或⽬录的⼀些⾃定义属性,没什么⽤,如果有关于这个⽂件的报错,码云仓库中这个⽂件可以直接删除掉:删除命令:find . -name '*.DS_Store' -type f -delete禁⽌⽣成命令:defaults delete pservices DSDontWriteNetworkStores开启⽣成命令:defaults write pservices DSDontWriteNetworkStores -bool TRUE多⼈协作:打开码云私有库,点击右上⾓的管理,—》左侧的仓库成员管理-》开发者-》右侧的添加仓库成员,邀请成员-》被邀请⼈扫上⾯的⼆维码或其他⽅式收到邀请,登录码云账号提出申请,-》同意之后,被邀请⼈的私有仓库下就会多⼀个仓库。=========冲突的解决========报错error: Your local changes to the following files would be overwritten by merge: ......原因:本地项⽬⽂件有改动,并且没有commit ,所以从远程仓库拉取时,造成了与远程⽂件冲突。例如:其他⼈修改了xxx代码并提交到版本库中去了,⽽你本地也修改了xxx代码,这时候你进⾏git pull操作就好出现冲突了,解决⽅法,在错误提⽰中也说的很明确。解决⽅法有两种:⼀是保留本地修改的代码(推荐);步骤如下:git stash 将⼯作区恢复到上次提交的内容,同时备份本地所做的修改git pull origin master 拉取服务器的代码git stash pop 将之前本地做的修改应⽤到当前⼯作区⼆是直接拉取服务器的(但是本地的修改会丢失,或者先吧本地修改的地⽅找⼀个地⽅记录下来,拉取服务的代码后,再⼀步⼀步的修改);git reset --hard //回滚到上⼀个版本git pull origin master 拉取服务器的代码⼀些命令的解释:git stash: 备份当前的⼯作区的内容,从最近的⼀次提交中读取相关内容,让⼯作区保证和上次提交的内容⼀致。同时,将当前的⼯作区内容保存到Git栈中。git pull:拉取服务器上的代码;git stash pop: 从Git栈中读取最近⼀次保存的内容,恢复⼯作区的相关内容。由于可能存在多个Stash的内容,所以⽤栈来管理,pop会从最近的⼀个stash中读取内容并恢复。git stash list: 显⽰Git栈内的所有备份,可以利⽤这个列表来决定从那个地⽅恢复。git stash clear: 清空Git栈。此时使⽤gitg等图形化⼯具会发现,原来stash的哪些节点都消失了。xcode中添加忽略⽂件.gitignore按shift + command + .可以查看隐藏⽂件,再次可以隐藏到项⽬,创建.gitignore⽂件: touch .gitignoreopen .gitignore2. 添加以下内容:# _Storebuild/ *.pbxuser!r*.mode1v3!1v3*.mode2v3!2v3*.perspectivev3!ctivev3#*.xcworkspace#!spacexcuserdataprofile*./*.xcuserstate# Pods - for those of you who use CocoaPods#Podsjava Intellij Idea中忽略⽂件的操作:Intellij Idea-》preferences-》选择plugs,在右边搜索:.ignore,点击Install,安装完成后就可以愉快的使⽤了,不过在此之前得重启IDEA。在项⽬上右键或者菜单栏File->New ->.ignore file ->.gitignore file(Git) 。以后再.gitignore⽂件中⾃⼰添加要忽略的内容:配置gitignore⽂件,配置内容如下:# IntelliJ project *.imloutgen/.apt_generated//.classpath/.factorypath/.project/.settings//.springBeans/target//.gitignore//.idea/_Storegit add .git commit -m "添加忽略⽂件"git push origin master

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688702837a163812.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信